2470523364432767536677262043246230426024252530714147553323507315555104507661215035720654214574140674121734456360074550623114766713657515135323731655225044615422700244542065644343044505062055312677067672540746560555307471474156461676662250522472014110767603100355607766425531642321115226432012406346330272075737264111734651734550521101736406250265773640214013072720062462215621620641576134331214144061165776050364011100736413411376321066361075661442037137721642070305707670424124165160716670405414106707435565005263562344343333023163561410151300701157140224554374344651777533214635703746071367117642234327427676674607134012627236432727317753076375424755250234546621323122501077667403062501567043254313542402404641072031271100714624527000365625666541315251020200515637560303671763705441176046140350122551413573611017747624246404117653471543172625014207024171150100225121363705413734575361672722004477122075744050545673123222373773722641036210033045010150725354570526672523142107747410156030527020517437532113566710105002150056755161036165113135631231337625440130171400070615256675553051766440372370125151024276241371303710171261275023573033516425620137440006262532231705763006171172101263654364002752133703706200371774150455264776231023003357160002664733010547406620427515564702776305643750322474663574264672236447317010635211712463530621032426074031126136737726370717451642774720345427666273760624322606130150705560736176727670335612103501123335272345310062767310573673570212026442774031347270742750776412600611055000626772521334473041677235746415330354477766424562522771613024336663173201621661206675454131474601650764735434407001136740043771123626242135601504765106301262607313605234722601242535130414542626135360706322154757611322056113620575070457613657370437206615646147271706277602237677007030374452621765747273546453064032364352702066002311235740673256670026632574137107737620104125406751076173042031572120507741457665160437206403323626653062767443441633461074742304131563261732140030450736175110703412666553531036330577022731132120774414037064032673170727406172067665316645107255747465324747726112640627415244712027376634246570446627377116612207573361665552262250747561117451151425215530355650732753577215301445046605711670245362565614460316271415614511330041170167565172056342137726743431551735641616604010045032437116536436656430037313355345741550026710726521514071411551427453111303501734673156661742524512643122601543026063230743477445061622425442024036324673632413353512770510600656251176433253264564106540602726253161770635152756334456377310050264634736144351346521726245777310476217635457441704560472512313645674224267316150510265347316654011563073475430401440251033525135741752437200132275362117615355653742465724466523360465776516461656065072517642774063116337630077656642152500477435711333715072757111101207645457550177762446311302735640233652160544371164055724357700335645074265171077317244020443140247607130536542153742420330650755241202136134202762741575545237754303724247552736423533573007725174067061017661245515701057036440251646516155262431556143516765555336075216077426310624272217052644756541322177450577336443730612106535426560605447347670562523567777511417136603750775742314541375554754024623734764125274336777346264107617564473035757430137603422166127231507075342400115233435202625274060207632407445177403617542274025771215356122510765242315737303734536304467452062362731311170403514331443202460222525676330714112710637477443276271557346553150662467137557033523664053005103454040250673571704001511132626731354610425355326157215650531452021205536346257034070324526626240334565460224260150777400547666206060041706504605722550145711436600606020142700463455427067107073472614003542067437022560023510542760260736064124127335201441475564622017326031547605373123563040120510637061317462553312052705405105161334674535500043417621352564476206230502143376240313331072512236657322224505247274762461762513104366613353625274657704114607030615700511021274762614724527754225130507043533534526633350761331336205566554150621026472525036106440024707507402161215126464173332116627760254761617413234445661613266105177120665217451077560756004420566446622764530405534130664452157433156345005471273225177631732552235062723604561666262222247013645117000040504526225226353007434041462124173440666567767100240213602202460474504040350126544212275755326075411556113154162665203146353163657033015071337417675770604142354440170370613431026531571670123575247353227555666123050210006531272532233070100217734275202513010036371753303264171410360510211677223260446532270353370546716636732450045134446404223654241635150500606267643434556556212427146065464302316320613070046524471267737271400163634710503711407174421035621574713501024721032761321473623357270510632233104162731704123143563627034341275732451713445470333367467770656771664354254416275572736026336556335107667232526561537133231460364735755346747702353344103401243347037470235230666106000766505022127265167630277463737735525152037550441174514716457671526263557501551723240024053561600417736420240501116374135445712666404725545501657101333556563465244573351213003017643746071535274611145176041427415371752543220437413603005025707643101264120760253707161764114307135246646263614610566373572177606767127740424547444374746057451531072563437001371054731337611504433231474654062401106321736230327351604657146774076505627713437727573762140032557174367455005633607465132741730744174507225514737362715214454326727214214246426251210117610561427306233772234042000642303033133774634136362264470317374027517453202455506143550332201255301667005445731746201216362005175642727161044426435370427040233762304401435407312714503774545371515016245421723471725465437056406712421675255154662476403155745660435316014053027276333247037551350544600663327767363663561235365142156035037267323511050251504132516022513235220447374754527214552470356252160243204732772577566745527425543213362523654343537627616757634075272676406223041455611023740072136275473105562610426537545305110242166710435076213444307635240306756426673147172532274362532012256551311532224367734153002106257756202421601204166454506245025376526621244330004231177500231775405077317353524640025366037077575301250004601306370710570370414515571102152006646713667146036637623422242723177121414240225254233731153215226111131553320611547403564606553052250465451021010772776117650401736777355516444265052736027217216745025012403526271575102125100354460224245750624277445256244477225410251215605256124524376012636016061067074207046633700255545211105403377534477323407247035056700013732521572647450451156201376237246736166063420531513113020415552034567055162745176222662050417656147236635565154213503740752543124352563501520063710053007142655031651661511345031012032656212343606643505347202110075747224615406637454337610371725617624467050145530032057360326247440531624763522447436735527226757067674525456457640352451256023627730006324167671735015335235353425367305524452065403647200766537504745033732367530071163303270464057507513431656573322172414463067063016314074221556011635621150333225701030223115136665237313030652413554040430563453004661352737562625232575602010236322656105450601117314200230274731516150356272302502471543420043017104510755453601105351111241341246553626701306533512064336536607714604317131106460520421401353362276161224132402412265526255072371016333321222317225251022266613324256614501102305716514417077264767371556711565025071052562301152514505664111751361622355727201636562503104500430606101667170073276443117611204426606553656202256430775020605147717137063702454212623036006471372410232744634325460562153525436221043440037626646050447676344442364650341653112515235506546111617066754640363375505601621443045534305406365035603171762714423153650262444635350463517572725652364753663573216440245473201700362225143173605767620126332252543773267757163150540061061561753373700624260760142233626200117371273160535172243373734547451627020704440165733645535541172273477720402446201763700141062220405444412547106507671673537023713155673646030267637175675215201233247530353670404336075762746463502702267636712155761450734731474731344302643245056010774424572752055263450510420722367072540361571072400115710001211165557615766777253347134156360363047740117376001361272022172127162604321617565102742574426607667105164564367247056750421344760270350040671045257013737405576406272157503240127533230067215344013270536421113000571127702043413062160434730520330307664134163475446674465127733423064711652021740416566716507204155156233400600474273376323234620111531153615146247645241402617075627557562502542523206327415155740163642223752304356477011334750712541135311220112104620435472326755417714267352256466437053140633276755777404333161423126442605354620113541051372323712507044410214403244222655060647445045706645321222060775444320176510221431625371337103343321320566442410626346452045476503620403346601221002266300724116551447330335204370176263620411327743557150320737712751336326361152634141012545613454177033022513005362554265421200621326463732565527533307102100161755247206133424051121675645030667202234256553547710025641675761423605176224735511613047437626506603453054657477341247547466510401672612040550171531155431462446232342257065546740234254107425317707317765462452642147310064324011030675135670471304572466370351204120271624501143376472540470737744776016760251743601022677435403261417150566162073602672544651150155513551476571672777464037465501104534033132110406537740327232471761616247201701452015620602276702542246307515372615321757407606005450660271161527437551332374265752462031555712457416106245733622265235073402361216324602172547443152430004132042140660121172043762333163754174515404120732631637042476712457206367370501051634047607312245450146302143530706775276552517273454306627271303040123657403266034605240171041676221711246363170116213615751557264421320016254435154156613454523445725723522177172621365111377510017115342051167642125137276347035714170246050440033656035440232164451301602732432274564621216356506136032440176070640175210674373000704572734627037262347667755165656057623525051673667515656056431445235615123226616720674512247077654424021624335110724211750635331726561074160545130231044476056676134743061405710747750770403322072404574526045435047031070640647405506166076054375656227433006553733375632456256142120161500514074661132256753416213124733704715176632046676661426236516152625667425013620743765725516531035523706257127514103207341566607560062360467710546721536201164734742672650163517414540105330554547767627226320034751330454444202420777072053620065172257724624635637242176067323217645705153710451377011721567117540130675445314077427766262203335467600607425505655553502545143071254541723137102275442045313001042633320565644573572202715207016674304763142460266352565027510440230662077264225125146446700166004567440021420632003517652134365042655504762734551634721477274072210525413722344447741150215450400144156402553255471342230735133672037146521311060331314447230546762254272417350570377774363154441547045000273220765070240634234404437150726425611717767473616405126730034665431473506466472662321334316064145412036010514331750021326510224626404062372410316365305326373401303526245450001711230503464430347665715664450325552120522003342054423541370603664334157604013457141176400752154550576564322315203763537440333160404345310775243166760121356713012342555475441127240566355561324522300143765336156453405271524150407416752122104537243406455662567167524432617730472112376446657731614113603277132645104150033132361235414343340444047342012534237223537201322164301361525001740363363273335167122433654735667511770504040544505055424115202406527752617636231665502655504624622416602732127177053014626563272377437044060507140303536243174733633602576114766630771245143177440464211730031621505236745565572556613672550664477436233311124466226137247744761036015116026475331373670255406043731505004141163304076461557530023602345040625477472557400551174101647450667125251347313302303175472036140446461360666014215052154717156600547674523151131501275533202340655223163706036673352753301342023225762562016073357052712170156477555403052204527574150340663235560653413250644020716113167401540204226632064750036644055463441000675266106474645042341360057447715641755622664010747251746653227405034141445373224065472334344167345557623513052427507454057244103524634323250453430473057776361017554506460635253435103716743306677774604516601113230745651057143754457730327724645733146534622377506071264133107712106444122512174023567705024024564047160407256201353553655353023452504604047536236600070430030043125402425647230360602730531236211402160651214656331242632556403161043733563203264035322460261256331123164324713054075326073257201710721470604427335006064616416673536353553724414744737517214003133036037031067404330607534707674600444300750147757520301207531022000522246531512621047146140203776631002146535777301121631604172027472657673002211366040076504723721127462755463520603320175073745474250544522571102457515424440477367522427442114323327571142312134546714527702264743773744576766310521763653150545325273070564444131234041774670166763144253511757061520313561122554332677477375032612273755315453772204313053622453043356230265144001170633142145355076712547433205206101341467415055005354377514750202174076020353114566001571221551241051462372266165343474121733545366725410414225223072664606603660251715251552724762051672401207433304267634266050310742553405120701354425157006135044417341714376630260600455755242452361203157112276721007042337124423375423322002123215754360102110547063463123216416324747512510433424764405011443677001063406114053267544631006656317606454610715063750566651314426470233040567120702655210055542740412357742302321664240166411755304440676712362075536100265554134207712241105441056712717652056330442470663774647250435332175612574404401742324533060747734657611144075331420253710770514640177246622320376121510563540703424466150751776542160146301203602214365522314671136545210307254246040655244617337120377373614131054034212316643577574043645615352255566767556746733052026706111226151243160253100216332273355707607032251401232321327077367310500601440405067245042052536130755132200256240070372146557766661560131674617653607111513530763134757027517320513611733175301043364703371267240705460206412372011661633172661015200323531737315423125111635367505700147143011216622447235043100603652734261437111507043401670045163353511333572472507354324617600712352374033037674126572171254771740337431117522254373053457456464310134476116733104303060410626324455647757201744213757214236467341636270125210372605230063564240524473510652176105010474654303317046606565411427050422300226055503643137456651006211437172010407761402232050047615515526545156463023035426361572211332005345076523705026770647747253465657341315630534613645517164205144510167031425762607336755255122032103631012601432101524333741714741437430767545553743306271377152137317122510212004421724701611310536147727025075653553561601052745623566714064343004746030400772370475624571531255406203027414173770414215120476747305154624120442777375052025354444347522710632042040324342637265070516633244712003162757341731135171730154530631116135220131146427531115025736170011101046057634502130150520340267343662662377255147215234726567443262654037362172621276771671040217651373046615124304132750117440771550561152516162672025316351351163734124117356744440526323644645277105320161454704755307604747756054463107050775531201557334770160450017251367623233712505475557463264541613027677401756570344416547331446036347470314673734472361342615507516442036135051777724622310520114244141235134501715307332374374646043171061130410462202232451644777635101307526772722467132015347522166660534332340251614537322422275123060100541107247734333740400071431666536660721744113206271710710773321414635751640760545303200454014165604012010661206024747132134414550120252136117743652234251021526745206520105167570757562047133364314711425576311652674674261137626307630667357607147430530331412321425323707431435127304063704100026475673212663265575326507605325607761156701055351575673450054131336206473463555623266233715414155235303311013574531334263761147374761042567365011654613055444152451403261561170465521771416706603013011621134021424563634002763552611271621635664653545477525725247757307154716474714747343006311431772611435673167505226475753210115160001655633573501342166724474327230325427534200007106647173470616074612240377176270770033160616552206416607313117160032211536246337672705515120563750625272133045551624327336041354071045560603761474203331551423170460552301004453642570322210463243074622741173554772057410772133717373025535724074232466153071146554035307745341772100212133371034337763642253045151502725771273257204360223076561535644146374342457532611735405144331672462423442627737466071304500471155315667277611137550033431256452046623555141043542010105512263757540473065534247415402115444457017117706346124274513506104657055011760641371014130702431247141464031246627314467753375103400542773746622305540612452046430345150415340273057177346337052654767674761031344147671366624006235173325621750544341047504775215057020041245321106134262771212772323674662247446161463444155470446547713141512200367735267231764615704602445003237517042172405720403721206462170707164653320745253324213623743516220070645667036773145714414664247204440326327060503735124362652014417021027636355232363656535112134157737734261544215705376752323670604225555352250010030046262552103020344417171626505627135347712427416524434776073675520224465702652357025511473550011755123171265472667760750157161606516212740560074542113051512556210236740042134105026640324762636473645342555501663334313010223703507531251464455523040012121106553164514511025156266027174051324547620355641030220332263732421212225104142335354416677631363533026005224652147554256261125136360306202712634364212574215227030366551614651620307207720327713427641377014355201353377247461146105030320666332453743126345053736452662066617347741354057416040322040522736537234065462663034254462022420321376647701367704747675033422311057440531417017374101314767165542200576173570364536311030655476045271742346007664140035412120201106372574116624030221723442704051045605464530527671552660631725643046137712352351172056562105236013650257377721242770277020277437323164263107406335602672717045657704444245226456752501130266760056370101625465452051657650317246164242327615307503455413032354240761365740250664423705371060337434574521443672525161346074674213747641215713725103417216072030204656755303241357741312074624601225351107614722145717747303553642003044215606447014571732131255701247437547631075113063277427714773547536014432334054536411214062366413327075012321211546570253050633447341560111450326440513414302052515611565411142375032761422451442467151571332065754462210063466122470162053360161440007767332540477532475211070151644671236746137672125046507304221114265017377023673136702121326363122125367250233300423444416567745130030716704044270303521310213507722216427774666220550242207461253136001037764050411000143302264210425152327641045073424160375523705272411411450070007200005163107314523103511360345651351266723516343266436230362215415424375570526564432255140044733460040443671752663054467466231561115103307071577221750100144507032436202471247234430017076060774425055614632507004252045004507134520101415746512577141635443032644263633647372174722450551343275643312032635764325730127756627054467204255067673557674705155541427173365746717534661471551464073754702161273565456600024166105603503444463244027442336711073406617152473463570543740000270342164263543264744162577250101556132607034206773075535211013525610634560725715521250116100761714355113773465127505726544315233310676734663611561366662342407725024722350614212630675041040667270577530016245424661546511150165602214311454630620362441661515237360422342235517760663540041407252475241105420442275366037717064205757457712775173075556240244126260156230711061570206446234431221465025047472222354045706444701770653046051703234567266367236665751623017003117745656275216736116775261474306550235716246127640036144450114366630330161322140154355612704623260572135225547243027610655637752174761477425356304101502646364773731011631736766337177534065623403704475217110466177036224262766676162113167025010003213000641155111125325560554606724544660226337123341675552634113327430600264456361705504240045453150162000026500154250117746664043514551372441627442347124140464044435602712743103623542237570502737270755057016270714433406367221174312057647141632430111030727044710502150572531656033706354111122163377146030301553444540217352565702157174214312627750433644137150513610451560611267255252576425454456254124155476323722511753000337327343131476021126505400663550424356410533622567514655610734433271746203667503673727576121161064407027206560227263155061406601757455725633211665005502620351304363230332124313571243514131007175161611641022672104300031106475521541071513507036011551732256521553241131172603304102353035171721560050574131121411472364550524465346645212563123477561563771007340456150427620664122410707615166213005563471277047754332133367227700025410332661760323423532561140063033640575453667171617716564256451316657337302624501675004420441623114522621152726720520704160033316404167266507006671651462415744276635765574153511516410672123257527717225561547747237663524475674376521434362601252370044605333056410131233420446573336016274146600061702400763412101257144005404614373327157607574121401052434571346721016324743442007527771024032625311214773635376533325411170072204130443633476343051432223533175372145615304637536127763365634111402120345420114674552450017776475245342775170423125566611037064443460517564475635270410126015603126626160262167731250027575101655135311641710466033656233633012726341450562754773171741317573405435262055624041204402467562546635647656525234317141122261342311113355340472713610274516715017174417270215506077415134663314044320501313212260230512653554711664376555167450556163555353467512324403440425174145075112341431417105470404466535265427717334040763376110740045651230566273312645627725746146236427410202457330214530215135273370205746536450020576717723424277465466710670674571007216232717157473050007536057733374205721732006273446073410471567603200270567436350340435657257053074304435751717344341611053752461066156162223663061071737132374373103176655116016154530001222714610360147432043300566616241640404414743217724642605624242300123406011654112536615144672263265373400441763465371043562516321165765754573427632433374314655243776050650445172312533676775310601076360430060351573007547176137265131721020733700140656545757300521431163024653716743657033137376653272060351720215012070424267755403267410157535150423262666020020264573606737623553737134252115035244425263167340141737107635243675301601227321044337353767137504113073607053323210632632200651577237031777434712504411123530045576026037253133656406572032360337032472413661023621305650677201577746465226630350063747033027372460516057764127220360346776030017135512454006633663762103077764454223735141744675641311054364006350560136265414461016454426605542303734612730325461234673625647417633247204200246034301530564014276151640446420074656264747237134351074207004240436210727361373262212426152337464042335020421036727645564017632142434164134005724774733513774644025272215423570402610145712236115400045655065264030723656204463022770670472744411517231414770534054211615743773204177560033260646567210771354053346372464742320752614264772565213235715164647212074346267114100732267507320675013435500720502035602744710547142430346400766600403743636015524670050142421145523457626056124367447766332610174422504437644625017203340200677357251744133407023567631027275340171500453075602745762260644523464041561570621473414166357231062470227177635534207013334361724445121233606235003664233227274015717603457624423034241747027440452304553342510141452254140247324574641712554327642004616545035544642003304726741022070451126466534141073301533131652711236110534224121002712371553544750330436552065050715476306431710715332237573037041053027506167200244161631130210570704757737553625603305205604505637602322112150171137644334245271317431731131641523332361370214423104470165255324563264771163647462634161401553470665651567657606254420625722121324035334774506533005622522455057345174764246523070034613124106215506002337536454614207156132145270246550002335406700611501570355075425326320550416656442307135336452142304517731063421411635771576533621253210170125602777226412067300712110520165450255445262075450005305470507453425300564017463306200637400504567125375401610332220313424103333372740551501137000065546332364210576620527075156033057510256100376210553416453033402302557675563176540743235205167120165676234534112572767207216764064171011152600116360256541124205661221023740253017443473700472551310373503605576530545307112465631107161304051112207412707401646334656426703524554105172267001535002205560234727345211645074751542140435065261040001331703204760134010166315172011114117654660214057252416204002146457340701055423610101637200761667047242631343412165777312621612764652417476740625741553001760701166417650032712107265334052566310202360215206355441527466064232333035761316231562765476665250406234317324334601401562406431102145123134465443201103621260457523753361517576534421030357771333224644232114735652112247102710535231527672751206146503617436255244646576215051476656477134001775140446747477570345354750265137150331604774747677164375461511643443343421424717761167441603665077661335164076474207457257242212771571411054667702247631140752023261063577275334603472301465122327524351753353072214415211377561700672125055406746635367162006576322233425326604502266655352542414065470065323356044722120652414500357314743634710375333672414064714255240116653235343561221215244622134072232206751045117134673645425253607345577654341341767072713245457022227304640076514070701722615550470722447353003274452701533401074107755675045544664055235751217234455527101623106153751432422653000630225126613464260755070446466666543720553303777575355246652646123741617571467257021574445040043376576720766765475415357576137245156726410112247411731107323117064452763146123060503623713432201700410034757166115577036034721633645231030437261012542122641110447263536737745232425226623437376700216412765323737606030122362457031736075336730402662475545226436122035144304604225537553215545756660516570613135374746440561615105106725643147451456366306274723437545255432440202431777060614335360331743015673610671014321373654273624072271420662102435334626623357064230357263161060643616172410225530321551436222041440034504030456116515706411024207646205106213340442625245071203222631476054210112144140366122157361772562143601436612634447347774045353667242453040636401460200211253127601135573015314305500431246461101371130262577657521070775700205676575373306017211550324445754251151370503372221105061452555022132723763700560147431212414733153007571641712030125162675601720763753650340563372457274076520343070057316343212544546460714735046021027000744043240175655141556014147501531233425061603772033514232200731355622631414517465773346270206636242130754503144017405350640321600241020067177625103016041513750620741453224170234157015342651314202064312715516244242716716545646532737300735071642346620026617567774566363623220014617206066455436302017641301522765511347161136226772512370443751550230146772706067753010564243073555645612035643576620066355771611742324315360015152031313706551670261430251451603505744325670412513114465405763110150475612307717523642406222543601132135154774462240042060461072612053167107613602442261333536531357225307665322612675542014115242715125436106527076562754224025001044151241651162722065260516161200640704100617412424405746663571510733660177427206411423351064735645201152353336567044335613406721556340612576344105644423143025226416065227726505132331226656040217123767346500106765670772757045515346553652005244672556237756633001376630011753402302121254577652047603401012372537754772346034335036035715311033367127744544320443147604600661666564263003271716576652516620233122712647333231122274731141761054745123526535451533673734024007300535770204002111305556453524207642702704153653725761246431013367253376115476656550134656401552506555402651736532710752507255256007724607707473443416743544620376511152733351762001215402261742543613504377720225271024541535533106772006602544207047461675231323323675711127615043513064153006664467535700507142604611053116721360174125163256125061371277460337523743164513630530471332153633727624506726160744561352142767337410142654711744601516200736030250700655443537151237627502076246541575230654061265541604211242644103440415251505500576125532507660640237746257040430213712212612121652042351255527451760542774045201354153620226041237433062362435457501341321630505022267025715463443463706317416671107730610673136222650373636663313204452602323634525721117575635061523754472124201064652625010767736606264507351534773302316776636414231307136106426365365431161677563703355334111520773352133332572172545120644372345221327456205204740314756303233345475275671772122066407072657225765726451246513426033706222272666302652533666444722256504715373366350305315703402454042031104331053653433525066373125315350457330132070666110242770605065363355375634747370443037422405563300732755644745120506766505634013674753140303203460365516724663607745432025736624154616251475067121251606673561577600644547535540406155566054536170523325312611345147330703444114576062011350770671563551216351746053610763030064315663120536465554612135461301024250526054120461022705576551422770376066653163020750040677246226525160022440103063135177473471070122020374656474077166620646777302032423075213026562020215141530643674355577050220551211173026421400275765546770060377173466675751555725143345340430421203660323110420547636440603010412712772622541236120435756207410064145461364366440604327110071534214231414232156364562553507734015655024127512461535335674266043425176071033425777310337772733051100710044002522143217106076063540177302007772072427667027243064756270701053364165015644740443353055056042543504135672154076436137574433552503720201751005746427101362577241222637442712157722435205673323775033240367561723467075614235276236340457217061411544415453240221663454330527670175705044305342757113106621774775416422006262614677331233120713146540552571764703410641101065365165262746241713110177060566660126356105403732214134325173212332677327354675611426244111700316442126505445603523174622404110001756223071663245564752114677321173532026260325343555736715762556664513474541553550344552272667474011556277005336671630652032203362162272275045565734646145527551405360675762144772673766446374257305131542236212756037006460675732240161103136274200324132206246073124617173725150721517003623665323752065116451672774672245460225051241222343367377070112542747221657533270410553634442766616505121140337650570410071660753006654211330723541600645344761523514501402172541141445335770424727575137031233111631465546626166503451144176616517341652300342300051465524567142337456257733634413210435432355025446036132757276430655373162005425175434200154007704076530160773664401611762471703135047067420764425154533137111321131405030424001457601451373355217623227335745200176242625430070706542770371527710674766404365166546341312024712270101740747751534476433071241601132226016450125467631110325501707346550220666452613421766072706254767025141563125637757227567174477273027560066223060117015311757274224630603565404325502746042035373530617540742326551537146367161234344012405125302421516344642432363577260501762447614752577033570406670332546063037306720710131102455672277706515613117104721515261550250261267003024672053332001337703312167533040567253202406143610317036547535577620507611576627055532370764225626415054672706105347207625577007434577012734416023774355024214643602466140440113050507500661253530420441310507505631552610713262644704274415326543400515657670656213334256730134612230245073417075153236633555407504407214163471750334140134035762267425755015247551613543633434574541751347047407516010506641623745120222010625506507167277071375317414473226504121706723254220354313004627544404471646605307124650441653720674160050251305233611260346503241317362742171044741077466075440335144271206773054214164424537061301715177352235115140040642646277614132235515556765674003427520677453026500254654610602567007442262700550353120335532003730271043301177234411552317401640046466762211440774741651350511121365153163432515170263203366411567552323773564622275050555021026764312743704416354063165476446125053641335576634467402456653253145544377047755041577671674627761300527216053564511354064215130614271402417426735251720266155540173136711535777157105765122511432166634213220427603145272333476232315542635144066516425702135036000016063115571143553776422674053436574616615755603134245650730300041420705753244237614451631421345445424466272216307457151727607735316230137672245336654645757466025736306052352246021772361246551537770332635361455636140450310455536251127275267762167515661172034760456217100757721503173005774127115135005056266312760061201576223075756152334012563044077272104323726165111411573242575046111072255266377160052207105521752431257135741704127267355202561745510465043041255624700235427326005544500230717320762403224553357137623226072611716162175557542167725216602661202772267056372071253770176062062422213043265620514210441330035357575155353511657312765745240124700606630451364511354654665704764227243003523714645062426001603557475343176361206563014220620765007314044634032553163001575456730237630671352604151051025104720425134455401606622333255446647202540154073607713307645412232020436511747560231353757173062357405471101237660766153574651401425101775133017370541534443252532142322366363011427607175545472074447716713527114303104775140415263133231372411222766174512663060347604422124122372167662650065067707422103524327037105401111763526755241017136174462611074521722534557674307323041771176756644627454137604557511461573774412447345414553566172077501540310570110664457734142530144522641753617171552022657451426216157042151100661323525641341517502557361254616262535521635423500006073701115345474612521613360304162344400014755304773322634150533503160115500236240254550223145214666001347432457223340327345557265327017661040353657655057543075742506772121120512123661525354757541206604777435637637563251765650542636074764235232606731767074532714506232564625105763073560221062762457612265476472506233263056254323517412247422502770334271434755642213747454705704421206121120255714154201302717763223607603633441756234741214340414775556374137140101276372741233667775266545231324673543147176760004633767145210002373270630757027641424500423766732047577405354260273241464111461274762277013420151416535155265033365501311655575402041265641567316262241033166327215144315240366454160020155004046335270060523135152252423435055557232617570014437044063156521330103471276321073265116224401402013624726420112311520026756323520665523562106636453157773034623167152113404325141622752747372171441713513752116001314136767017407676123315047771032671132573531466026447052161417270221152044251735716652663424454744760476530312531124254067530425772741622356440616447536334165121753274372115653103747213555702170316004636474775510112565526072763103326404273743566203255662011662267767262710116077367335143461463262705706254141325335621654055753731560403773461747317522441154633744506300745514734313460135044532315645436623575043274364512737511164175726100166366270456577045730112355574404326067411207376451117216740326573351573504324300527506235565434460014542535612227010725015755770166255223474140214500733157412231676520334035314577002544666276007271335061174361655447134130005167077146372760766716051266314433205152736342516547574512554702203276002020717233517616726304561001017560550712126511044041104144223527644347332647132563076523376706226422110340743626531772626272243402042335374771575753442553567525207234113226776506577436027145100044471077230414700520743331321234063214103641302275320730223012373562054362032442574351476745726027730470623024473712776261230202311663253330612041350377143163732704665542613563374760524216471603331343561770437553062121332221025425342116254700774326126017623600417245027032514030176201633301266516023521501505456337215407304223356363475734646255510540102770156720102716605442170606437252736024752637461056575255421334527007353735414516362303544745051731643535666376647511360563201504533746731603027735740071766627537540711311245153105463663611646071026732227752153405260353644034540142521450502172310635214720551303056753155337043631650064742204112513267627360633724771627371256220170314171601634041151120162346432003127202303265336727755670254370732335207140243653410521121070773524150661044317456163754147635774026035410655031232511746763641717020035716713275404142353114657275564002013527652115556141264334627567576256164602453435304622554327763064102170233213030237115234633307212677233145641233313650207037733373547500615367237135276176442160464466002513142712614245041562464517602067024672404030433576700532023544713256357224137301574031135073125307064427652306132133060217257302104155575246260554552403352277071514354112340754140107515463343534011232771102214037075537702532040662620325351411101462455170723640401770105036155705142231547606141436314420215426072164711341305567607213530000254666335277316557172613215370312342226016014547563033473235735466766625530554000613372341244024265443227712141267044475216226176530715202265666413263477375173342540216220175777431630445204474270157322746430334334022271714610130574075152362775517717050757727734472747654143227215715137276527207300160526616533671244152745277353041034101067543222056314331651006330524414416473200646340634442100743141635236231726271652260341631613242357460357377645410422724462451012245340752250740073104373512131010421537517232206745421461110662446620311717112612362333721015232216460073142014073565042053730514723511557125531762471073035451270031704344763723730673217671655060617764061124732430670610454521151401250252540102343114305414314142163746331630024731610423041352645410122737313077770510621021372167044255416242636251641216777743344543021434707414726576003006434037623074705126745704742323303077626731206546200424351313275060134652427223551130656242207572117433551074760071416762231131663035475126373755520565036266735462563414664173021114027501734027220302023651210257416625447123433145117612340152170027376727222033616200060566523553131364250032422502756076663405071210557146016165501224730211753156230425465661564640201447432355375433112310442400733201137621632505527544661113173561167737351326460101175423451216541711767311555503703300346147256415321347354503513730074572033717234365632543171457632544642315440122013361775164020144666351174725527545636153135712176423503002146203524514040414073632157140432044657746613022250670135156173541354012713503677572552273347216464032724026260414466541547071461557111435545140323171326776040212442630054710354765553762601303567025750275760272745467034343054522274152522256720660161306677434550443604023150315714456542755576246243475360213256064527715703673640606112626060505213327217100200216471156710352004126260434756651112126537737637546465127363676155703030645350643212140325641705255614007420411276655450364526103651331421137730113263032451424440074137103070745306724175077415167323531325106736604177567217353644576254064605420552165111370462216323736660361341232531455511263577727273345123055315333653106447643017532255140676110573636676226460225672726653357166212115704400632061223647752654527141116506473253206076346764324616056725016712643636045130714530676342740276240321640572003716112772122002541473147353636274446225520163246153520205524467444702140172117501707576267575264205202617451464463616515467665676272004540372040354140413621666333501575231703702017372314043051166775007021036055206333634511407552430166147740457177611727276773346025017304657636670261564357533550751455235240431124474630250563547200326126133027505067352607720536502000272564036403676401602263056463341746210764424303550500355556552645504125373236444077506037370651451527530500536302547056566240712341361511723626116574072050176534455660352033476201615015271560425253072147414416720140572710320253361702707427636754504112362572100172327414654772652133340714267150300142361120567763556710745543715030227232510372541601140633413323462401640314021141207715626217515205732717466045722243413726272731145036523534621542171077331536245575321716367525310731051733166013624071665531565443131032227450115466737461447265437067522077071577740042225175401225412733437130554432604147200427253545342356673316453702003660423204367272246063267252042536622375661555705040153237634304357556436361272336721340266705640014446675136566741472523207773600057535733777162366456735653126240573553421657076011260352425731731537437742777753063342315263361332076150532132444261306162445606636066711711656011035245055626513177554221477575560430124463515441446631073313362343431002670137377155343625606765432542615637703407474015653510714625343756527553755343215277371710145325003170611563624556460620542027014265535132162410562327624610056250237240104643515442756513440421100414353111171643022050144301214471431131457420114367072421051504777657047350761361555462557641566204333421744703125421461035160177776436167056461162454157065002537371107224743616744023411212733721250734615074250311272537307374070316113320021453241350245156312622334404214460731072044466165740253654266134716724634413573574442435001237706551654471145333137050766716331514634676065570471312602075666166611300074461177571742525412573351675566412047600303456750101500324013023411106576557246477106634333471036745546615632671453653541426666117550345554370034523547530362615042446042604450130663703763300150506412704207304012471416345136610306547240577607155537316044636237072267177116110724354662475027212651142563640734510600127014071401652106357371364546054020233730630204046203001217450661760355412703335447003606656464044407067323043653737762723774573113333252251075114744255154476646203262170411124617322241634776455506070351356577551523137067777645377116537300144457561315132025570641566143257175457555610764324163360661166601035364202434113503706434315621746042673016327500543170625637333634243554335367135025230507620346117333267062003147636371121555176702125050367103016716324640135620557203135320735531074732442512525005651515506517257111406260265330123776202242163231407673245351774461135656105735220665041314510734215622430146760441360420241007273073455743642745076642463113471744770101510250622730453751364676132356062636227256321032561317233743013070730573664427356377633345411271173431321343607731130226505271122573233024762357366123613030271077535017233271731426055135255452144552725063261401071060033742175507135640674457265734340713046723751061432403540116227222042640377651736224470076261661225073177463620575011520443030700305056505532304502202364655370413755675570663315264673124244275274357077622305757042445343744430531465710156404610051017121331305734427262501240302651071140142600461255410416005271616064772526037554752223505737232621675545022207706417144777470365774061727372503157751754716022243100741017271773525615032144273706254161567741240033657624652332714020612005222251733037426757235560621406163531626661223012027150712354601207240062050617331767276151677314415125537700005412552164013035663251044733603455561475301055410612435737247710763244647076467040232537641013370513212330570335447620506620623724246171535064114023030172301021751612467510657572755765441065144610540505252616303173266472166333322112175424320736415304313703015702436711347401713214462317556275372322726476635324521114330456005113041535107061112121441326255761575653017153413326171631703351435755445212451640302217574062007334177550532635046422324550640250147146605641736765502236715236713212422036750145205537675004300261656401451444334434415033742706624303101423537741207500222016750270227746421547421735431040762776435041606136175610502503523416355610130302156170733520125473447107066660463473430203226016023363004513307707115237772664314736077141627562375044706570575755714162700254564750656566377261747730517325204713154426462452021775570061452033561065306273050050115021640625622016314512560007534535553026325220404012334773406075637476131023741143007202453230273674220377174505150102375271633063654520304160503623202004522427476130276713727435656440111762441737101213135662464447677676455020744200661120203216527313612555652463042177170203340612560412370772642273556202120043201357323420743522262734624626774531002603630001614325355733261237551007647602523220505745027626076203625425720473660672350534402771000145452644636137460143623642025475307500057242676076144007637703211325517744620460067363400055516660213170154410572333516057746135077206451715473705515644751166360214724236251472614420650541700622542756776547616371235057716407130575545677414506454142603216133416743756575606734242072022466725647126201457566213675673604240551057700627165617057217750254014221320014557652426711661035764737150326607311777550513452457634260506755463664034435424155731302631714035217516730710160022757001077622474545042734032117522146025454166274124716454025052722610313054542727416146443317374226441342274413721611374275367610764154335143165636145774044775760160607711254437537165673151261500647507256041540046224737015665355600554653702762176774402102530157221743661040633642412177031375523410764150066474555261457571071034671421717046102633465436643000611216743722216070255553272620746613760456622642417710300761500655663616570143641575526355122165337171526517176542255014570325116240567754705153611154567762354244173667435533245445217173422371223230524332607335216657273764326031121154136235605127453534311406345630334312226601023603573523641347042776557070633236735034354100201120650762352750755350600766267327137033200556216552432301630233230571262226072036715663355437052512255062454033060541464617071771121434450531040500746515674650267272257612214015345223750665265513502153014056545263437614723257346711347766201205514716743107227152436545137766211744374731371036113411652246275135704505566343212205527166355300233461671730610031005220672522737037250764002645727442374327335277051536511552467411537752351435341521652375057701462346774601775355043252011770736226676321657362222024175131373203777451146226056735004675243413107623501336507376006735121705523621766365100411063005174162612753043277050406615217325024042742704057457033733124777306076505173256750472673660176523701561420375425132336021360751005235152343325450633343072357533326741724341770546214505644361255117353026443771213766751076614242152730553414131167175613452473577772230362754077217737046313027733317300514476717502525706757767145502174373511660737370602774070443542564632161727050002324670724054525701404174650171123770074373045700537624327342452217525046336766076712746111571241447456626223610072306631064051404452535746616302256214771771065745633367153263215451562773360672475501260122071301005215673636100032222654556627314210527326543364335212631240424132747145360701606512554545006713531404505403217770013175544141401036152114136453203136230754014140403056011471330561562161671654300073041570760453400472213057405416741502502566724031031733514440366540633174127662473461002412214761426371453266241256130122123426715712732001070374427253511744144612043067745006266621652244755366444512125165717451437452262107554267274525715376102314160614336012220425717454316512577304522612161072672712554667217426626744133553303214420551652520742151000516172170043424322551503666642354577405317434370264711135434265542123762415524371221773417340110413551154457512610132702615511243370663347120131625664523774636653244721456474113435545444445160275122360001012112544524547260170701031442503671015553577562005004274044051411712101007202553104245737326541730233342263303455524063147263475360660321626770375737614103047311003607614270620552633635602473725167264573335542461204200152625652644661602004376705724052260200747637266065503630207412204235764465411152645607267613156354756651201122711150104475305034723212014145575070713353344250563141531506046346414261601152511625576765630003474716212076230163710420734433716272020516420657426431674467365612214644662103456636102463073474560707025736651236271131606667571577615357635507305310345733656740546753346722175564652553432762664631407516737327157176047267102070025067160771604724615542140017552120442565523574605771476776732523240773211023712316351375632545473372033236465000501273434010376750405012022347702731136255550116533132035362026673353471525113667224260060375077141632725714223123741030570327637253064410770274060120536175062025502417405276163437502306162725155145474314213547673643774157562577010513171107717141371232621653470760027621316626774232110664631715301450022146436744606567234115363157701752134576270776573677443000653363707571320134674171522657036617103712164532316767456324311306556564304305150545224202374213430566144677644701040015046060662677714702747445511606367700572371264051332143073206644025326035560131136637144024347440123735056563421110550727610561004677446110030730166256312077713127632320345130436471636531530761350156250435725323315451750063337135410726340301260565746665160773227213114015466577567475473424727523043340720765566472221205232102652340452264724411167717312564313251607345243405064116657653773557132570533064267452475307072774574357374701725655750144461031334220477001642745731662133454210552773126122205043556210721744271106174725006157350555663163652645707452640245353226232644507576703260042145377344050434024103551312145120527752554425106600104623772004637730121766367272515000527540761773726025200114026147616213607610312333622043240155156275563140754774470445056463762430305004525304676623264324542222633266414233170073514153261245211531220420217657742375210036757767332351105521256740564364357120520250072545633722042522007311404505137214505771125345111764530205224334125342512507740254740341421561704161154676005333124222130067772711766470165160721356000276652433655171211223344027744765156743541470412632262260410333240713561323457123744455441210375343164754733523304272077017253062507253472032401476201260163055320635235432227120620240655344247074155072127164042201737164514330154771306774207636534374511561203132600641367406545171012634517472451170756732564557361575712531351375007251225340474576600146503575636720326724727270527566132511241530075164017552772117120676647572601623466065611501372172270635353666443650311461561460346301704433340234734423206664536020604462322755524766260615250273301010613471260115427256773454524653734040204746455342131214022366304004605716632343207345646052051633070401060362112217331274022127222225027025153274556026152672241506752754176314106362622151412410430027267445743424502650050245532545321647620346666424446364525220445554266505354312022046136352310361765517567633356233520521621253446023252312135502237227434447336564034753452062112010614142035563601665751062374224110554153275344045350617720414123176362761476051304254460740151627650204657114706531413443272530744421071000774555141211175747111047515207035262252324732153142234361557315007467732134034431061132706130147520734063637456310463275205451114727211472373656535247517275473664351005131664036007444523063674137574402546645253077665577363463213001421433437267676014505417403044674544002367625663412723645067676713171234560416111003536675132733023645671776410051144037476003021444410131110253162152175635672760476263335675140605574763735724324024665172607275610106741737457151472056045574756243337431216716631716627106055065121340217710513657241325471212210416447561653007433621650002336200024223533374337557765267162703347407461177002367740027425640443642563454106434373522057053710554175562123513507565161357210427117405607201015621125360276770133750145643372065002572664601564327100265612750422260013622576041070261443410716612406606175502703471731155711522576670461516235240437010353556352164103323344670014011705667746464714402232623274323145175125030054361734573373452053052464146570323337003475044477246107351760226717216253022726224402242114410731646557330376305567245351550761263014665757337770106663430462551054127314402273021227646476252161110204310065104455321415171121136155126424441417731106403752204430634527626762067066426413551050214547151241131752074410067154024420045546016502353231166606724107603745474410226577073363206416776257226746547423254703020253134271303760660452260127453305530424014426551476653532572666162042003437325164142670501222435735120615564044705353273176200535035737430474123744516732234261170774552154071261315371767025173171552210035654241013203632623330631451144647045361533157004705302170526376166377531451255043166201506500220615722735611626113651547607224102405634512023067751653011616777117740357405237074020455770730065430363213543441674055653115223203332273231753635657771500771532022112700662642210152777006564651637434345164036031240334414045756053045146172327654326437370174140131215405623432570773226647705537251440633336251370342145136674445524721670047424346514043653171063250600102641043015402423641077446663477303712330102416654634761051756251364147567612021234701174166245131203146043072616157725753252365671306154565626061002475370065540714125003621035744436225147463602344274337233365510426400345310723303354271312471136536472443763654427522227772200362327041223575042522765747160736303605141211000675340731004643511226034056650645713514424347352142740651003741615003724215707660016113656714560765447175577323535341374472521235675572335341350631124734322464554356415712245161775310500434506722216504237214726636553421703413122604621111741355742717061430136217177217610066441650113712541130721160621615015170132143541741307735344570660153276667734651345343042403432012301715422645357270344262516676116323754641155755430544752343254535570520274417077536532352620732476145362572302064167033554173401447411576213156432744023516717055655203472370313002126613313177574564546400717226611311104050417761641274401523645376514514734765043741566464375136123276211227760236433562373002615731126301770577545444066731574014170532135333272053123061625313036462762045731041126260021054666413535113673644056324160355706117463051405547253520572211004615441765504522523151156003540113571000430414640072375242707521055332117456713234716431765701644212530276447111177023204331210003103350053265331627044616722675640763152426221406626311164613157445305650367213607777707463311033161120005664417521605014704710110763216550534236377571674350122556600715530631672151551655446426706341503130240740212306637200426552204514550101447650206347526126547670026072545131200036224612071510607175536335511206533242412440067041310473027614075506703374100271363023750017243313213753506446324077472771006663410107126217725063557402427356260247053331731022565013547333426512446003077526743351270125632503210170357242442112765070151335453563572510654376611642247751155376634302274065762655122103200662647424730307067011101167040252704764472764026443506027432520037007467465666723562450675316735572237612101013112121330502324050152577254374744635532055332114514450354056642563761260314553465647770761101412163006072745063716674674053742317554617625123063771011504236600634432124757133533653354275653215511770744666222511544542765177117420740322340551726627675605330141076632120103023466101751433372600474047121014531771653370013223702035171215562525227166266046063731640743011151427415540304321243316363354013175712463222632025732664047015324463476140755667257266027040464537453440341667361256243603351773330061244112573703207015464733415270265215100416342263570033004104554641517200755101331471020015725542151715121047027401371176335037334455500217165237155264570120703031127664501531646707103567133374472261250572171301365102072514706465211270611661377747420373312151414725270722076357066155777714112354022264617135221363077311376606576515136663152714447772141625502662176242151102452243700473576120500513501163410165344027273275327260471252114101172744754001610600601062530050535164607414056612624744230043415224315346625054653350063421076673464065500726451405425346622463506516261301726541665364036216431614110566720141514350355672747273276510317116772364300062660740760621570106614172716175714011106017203177372406024172620440012445152632254421163143004077754620043152737766022434634103640571655375660044227541001752116476422571457331472414066403721677131705213112453622051372330511011767572450571042306466573623046242713156312576045517077677113757546212437475263213126525661613511102624701037715603557463105272237361432406273422453306655771767720654245677326331277644106261274451261067344605523100023614663043127321756253170664124142027031570321320127307772317204043701740407262313540033624433225021231447645543527071702436673127556530210304524461655514154075405236325233256517441235650024170666105574705541206217053270122416027310523360142721110367036307754605414011337325051247424063362245756420161046762510467730466440042464337307402042213161471462464350346517172252210670517510120231075760021470142301265573114620155346374151314216321477213555226310551604661013562416055324201333057010247377046046435505003550237326111015756247441732742005533302704176245022131021356256375241346611051615477715165210726643734253710110037046512661417176715374223101726630405276217612315003765154446407742432213473016070511543217237753043403146024074044307532446315622753124206165305141015325114366762407767674302621300704246355073773701075134327245333557573357156661240556142224543225063405262004346645667336174160645230024646426561767566212014031010121565121041252742617322644005345001607643153377555433402635714375274162232272617462717360572366412274236663726021067516067625565016131404150247640235434663655420324006472636766330462522234727572136003163060224354451164721062014075256705430762232161070035601123467272226673651652167306514374016247247700660775702553643625317637006770622372445307661271371351506202711742356662106061410214546511335177364037104277364304751567034745602524207654124601473505012511672215243742120211715306066361154153530230561210446004541332075062771355220144230763640210177430044641201174332332553123351460460730547433644226640127121752476120557615177165271535367026334612714275132363504123112203560630537454166757325322440642074620254030642032506677036317030770617573133277066145627763242766362452204240110436516034226212743176560521735273273434021257134473556301507060117140610017647611734513632625330144060570303677610304322411757166123314502411057767721240527311107172456214641041006507054765521612354665116240063457367036622723636603312614622342724402623150572622320536743600222021141374712042603212407005567075455447765323164324716553571065455300767443654425757635621004375227661154322506102657202371017633213423252343455640526347227223476702502367357111012546475115125762126403431316117326174117177341311462161217732624033366717603411200365227574464676252131733371465513034260575770037353607110353166631140747171606315676711647427054332172351040742721237776514446212402305103024722712036326166647707715141063621422610211444044651235117774722026172557656451562640327172443555412706647005234312766450445722461402013022165176706677010001630635552755416437102264145636216217666430314737235017413126064011300303534100240215424140517162642710313202405242742377075244705220432557124152402123573617373441162667506316230533746235255715705422774546174615567374163170612606630246430526476170630722566101476102000551735664255465533726552174126534177423356021327233735671201302626744151671473334465544676330303324726066220273712626705477423167717421053567520235314261331103251230065433423611532437630356154060260234422700430513474700057473254225634434735515273131772536525177366163316351716317167060146230637654230735663572124551737264202323400035334673672027043556511706564606530572704000162155163671614341714245007763745617600663414353244150354166262363400644232745146775656132322413477214525642661133234506566741027301621133414077431704066633230463611413246020111275053606444211465061714457023673317641370217642676367660532736501704651543261623153300726177127037642004242667620706777475045261123232056537625665364107404461753432735103147707051372654236730123106635651450471054576771541626112011623326335565774222773200670625351241154473323021073040202132245477373011661532705170330042331111360362376147142505712272142115361320237415027620302616050625163031500625154566311577267722070013057677154446133014251241150607123210327005661363767146761255317575717420627103175627554500144723666534437213107021172117724321360401025126422142705457624257646475715445171143431471103331611153176263032244007576725564637514336114051120064772361043650136410076424151443616163515266417125266504274477072344401615135560757663136310315505164111006546561412076722507455240310360420574747324647475352722242703376776705433104336127757246475614104533327245200200601145453242060407110363634552134562727176250570352510717741675732404511536055247360532231673200237322463625531655577417203363434152344257013401713042261232253344204757001042702120555006517454751675127053332035466706260204476072172625231511332461000242422153263512312220523345540563701226513174407335020604406645476650424244522103046727310355774627472660540124515243173305345422522747406144056254707504253704324560607553234315234406164176406576270575027760307324027267765171423142120606415546651277062547121276751255441554367177027301370341006441012456752764701531455460705311440450406427755176027576117175720670446221371012630360367702026317563533044013743673607512746220615331741125637047140175503000730242404022147653702354500604436471056101221134131512612575633255414636535061142776247247223641353442124740275205367776425057605760405770766463505462170146734055656361135376111105124551357252022605557401347602034531531241235375206365143505046574326172071330260647305017427537005215510476127621406770713712431075652523427141715704277175024336276522070364341640604115357326065027377026241714514024527222174316443136377166073275040061104334151160313636642625336025170773174621722261465770576317673172740310646701312750224301447550266561720246424233153605261214671167033402231206551012270306041252334233530223047720657430451231051563233626641537311444201471542451603441267403431000177566653011772651724221603235115624757142775642521152166104422305520367760475662756042426547462442527565204666010471110353577122600616356101105606072426204272176444350577715544413205044171425262740020777501210220003066045504210523246575021121670503407732476125650230231201600164000123462166312462072227407135227225556472347065550744607444330330507733612553510645323001116671401011075637255461311571544633422322066161633764437202003112160650744051625164710600361741417710521334314652160105241120112162712402030337152253763034731060655105474675167643716451213227065735066240654737506536602577354561311564105321575673375716123333030563667537156372715431633231501677316043425673531354000503542134072071111465100571046756221670154363251671473613077000005607043505473065517103453765202033342654160704157661732724220272534214713416536332425202342017436307322277671522572136553106324666215756715474233427555447050176520516447214304254615721021015565613772600345130515433152223203534044306231314614407451035432324767410447044732377415473001030165251725022130411045727540776361504137371376257723661733345005102545403344616221433604151144710624431520521171644447301136151116037615261141236064713565547564755537234460360062377135345724356742357725431706153204736345142575000743111202307554606603426443003307334256114465413642724533165060574215334777243717431770527346102032055147517676620234636757546763772701534470076111724362211543760744505457555743442263560520200064260015023322222526533413314156513115404546762467035733254702266570614005511347436132105001131263203440000552003305202377155501072313227651034571047162503011501110734056257062074473044773612056765617321360345616310670147564423706241375163034650602220616561116212043213652635340676147302222443467763140606033271113004367253536043363704306254577210675102763212274211233414225565325253750531311345302503331746476452237260006766567062631740422552130015473210507350212674453572315334216710665637144075572075676573742423421510160564153404565463321430154037371336534664235520132054407226107464606642506273625072302620163723434235020455642106000622151732433021632272160740233236645352433265022623654066102047260723636433401213702622430231647513212511527155124253462471773433477620167011343210574415502450216174323544260133471625761177306642667564576000530206655437406470472653423001460675013731275563634376353505351226355366766054512035720110411034462312454423256556412416103400666350103565552160155635231450337105754737533703272232350215642465372576364533433177164775472511735707752430707454025247601114126661350202624670411153666740345703154001436050017470242025363100130114307666563374173702430021250713627156420346517071040172577620500654526224317674727752666530223601644102611074671747061230644472663727643134326114772742577467534702230042407130402315713251200377751725127057723610462533554220761511071412373511734725610202540334062554543405443576625200573722035322726235036211540675344674660256547031213457317663637026373670130725441334501024110051573453154735175352524706363022445427046222267327011656274205712356320363710365604332141770322715466301106412026264245404612255273316235507753323571213343473327271572246510071010523703121722247030630362131610111552725530576366701017467742217001135224613545666255134576537143144750570204051366604312604322725667604137152751200413756376470505771531556215615713620164344656363371661200172741376667704136436640145671141670211633574064005613570747207010735365361261706110737236367107034221277251421543343444475461421636762647707662063755322340343312600024456314207403170641066013554345035010110317064376515054134505046002470140235302252754323115645465527670011037471527621073452346423537537313670574650667706315325077741215211123646252675757726214021747410601407233660173163742765522636420416676003015353137366012430623460515276357075360662767755265641407236404320241610505577330065570203372723210465455540400405513674156774473276762705242320725110525463567003036762174725075726034024566421106767277562772102261674161266464214654644015233764760637770716252110222472601133740540765262675350153640647406760651650275420474426135215764033777151524554607201477160660567651412341377502564407407157740600362732251300154675477442061777511304476723037115735026221307500147213402745530311420351310554133046076714256606531424715674535170374665164104005140706032613500305743235011150401715345517164762707221704160105010744216567427665444250543246771501046720410420756575133500374643050703502700136517716672277715100525644330473610054203136244742330001135321525500616475344111460457615611657110232364630317612701304234337077664103773400665415153564217627301267147651517046417254305517653524264736323515164241707145562302016645572166415720270732016412040734057116213163050607150017554010077074740332515601203050423132471374541342507571177546654203710452110775114520364067004015767365237102670160473574620565727003632011261734057137445415112471501033433614431670303547364621451604563774732704160266707436511122424674144720075504664565700336374071374510460705037160571011246113267052203031245303005166513715036253306575040114353120733115040066116557020441611222551552703021666032662635256224742212704502420056247633273117206610753241521216331746150636216326644773660761021260572143564005103434622604213616117376773274534066124134112134774046442243203622775106705125626370636622635032466647427604310462111603525326513465517623475171454703430033271615535233575374145310414536442426500726717712152660134452451321367123717505152461600714262502144332140046772751314304163342643125605153200046730156014232033607321730526546413210355351046162726751243046112376621470430234737633752674425264203602534057764550241566016242212403531205331125441731200126131612171270526013500371466144014770012113562527730034206644406270502066667657013232022760001533146647504213754412561723340661372205342007744213270351260670046053375733463753017064724123562403535744712702253657564164357501503620223254002347405353022504135424420477005260371071676011653226207672074133752613126162251534622163426101222244170256170035146715350556072513302123645560032720044133404716567124235121717233043010721525421000026636064117402700203546323640222302375315404301365250344100043151367016021330474202034764017435561165054627070243537766254434257515250371757014537033260037416023550375200656242165526701253546204047404324147331032571541504646660737426344633457531755525210144706366506714030033450150622043122462711531064022074425411372477267432373752710420607377626664515104642316735242245162056212724632575657224143152074370745325115153744321231755351762700037723011157171773607127317205522763206634117717175763507731432235071067070430516377423571034075521775426723501751704171365365044257633630221315576045174623017240465421473765726714071646031522446572507237267261644310324227773436015642521330157154727563440153746444670526554112045555327253050301531601526467341116442415250312007366317074716207726675650301516305325002355264727073424424325114442701644644157221122362715675130525274167133775307027037561656265131360444566115001752301616036454333211616451167260065711256032670021702177335721133115501324737224364711332562034462143277230650455260014604522554271505417321611151555553076413266077773727325155255142477034373631565360433711121001067753756417557531730327373742765123356550202245170236622166462361511257463142461412074476270644036010200717363542333760740716434675124620610765420253042455022211165472756777124650524554470767756004350257526476774140602447451360636741726756610055451733124550742440723106114104532773264333137355412353614262727717151013434322122156535063171231347546145716470773125330651004050637761414306727406637060335674215620306427675305674501645630415442050726714554467361504607365463421415074343650204532606433230744441031000712100611342352336150220504175144122144267011054525121624064454631741304202243103007542443367437653443074030754254711167177701127275565051261014750031404004225262574022733660326306132010625151422027622605453775372421617736004135753727666140364233206511137305223227612067644422121431253320442656477476013403170624250316663260173635036240602523455734036417477275207013467651365701752407061601366347064253113151416316721140420560017101065003735323033340303172032624670521434077640672304644016627334454630312371537667145604154745042617312063100370127215006434005020401563774522060341032277214417031264503604703360327055226304041506256332345105056356353135152656766016721635047154400554373577713547474464400314364141551330746040375026032457532227163422744557652247611077233204603157656141577260213505061673335134240735073754401547337634237046506327400323240626276153235605430605231234072137106535610252262311530137462203211734246176372475050144453074022642723317711445001041411421654241263562174274051045426672752627364526175526454255733040302325056322530742152561753457304500520021103225035223456441525412343424015016102014370250510137155473632216675403770564150230467221516735124023247266753561106734270156433347014253747102135110463060524550341524576552122646624555341004362477567152002157535617657361132327153275240125115653344777354660027754600237270046042425313775241174070020247652777317647140706720740736326220667562577113106411063174114015435553505460065636353755252354404662456255166664622445716623037421317122472552731232675676700500166012737604100042226133351272504175056056103275276537425150620267565267742331755353202715350033252153330055236752656217252165325340176514176171671070357073114407752223256667237440024330045437053074272107776404525620513032732662157640154053104161171435724626466475736222574321072261503260155511572736012163054114221262356427403702523465342521427625771406772477063512274612611626643274676574512156543417113427243057566770203055316237114032344016740605216015331072763224774572041745153033724615301425533034104225055102071010325232132013742532652175415004777145361010604276244254242435241047225332571237413057701124027303274404541024770661447450731372027026434612120445560536331471071476146370355622176614215662744455207674755466264111254046474712536422373734721432477311642504021515254520217576754145512167232717666046357754750304626162742150547527530623435773476067326702232417667242666653643653122415107647124426571344124117006317346064667131725735637642441550161655364537536551225152270540676144445655546055252675551116445352116327667547206126336070051301040622106621275270672521547662526327211366602641615542205057614121527467327734717167611060770450133466016657335117122412157552134700275717263006064071407532356515474177130640536754503314345231721562425234155673433774015113172733010143333541312743612466526254227123166616071102313741440227217615633473224347237141274217460601506335462412751533314242731426020505212541302411420456133753230457607741555263460417201015765144552523400451002061462723771671621602440407715351701763554415157766040650461724260553440404323032615075707333761204413224223660550430005737533157601407763671555737233336523067127010610424075406462210413174751014060210256257654453024742410737344170201503131427507551014106562201632704304630304643347513453272176700335320502572251432726735705541070523741620670537766206777656661222016201100052443064362141741473003766040177641650575560565061517345616021267503520335117011067261321341053072102735643301750742773710673252076404037220137150562027453765024454771056243376450724135666477720665007573436471561734304725744747011364361430233110331265004435471306612575603736121106127057362262154437717730350440145454315766624662416263153013253637516070215022021527523525457145036262203761413555402547342130076644302706523664246655766567315734230545102236006351042552131134072463714450102200037344461635465133517242315766423672640545406527073336756337453355512271713033273207113245655571700233345760126755634615240644067443445645721133536715143132573230127415737443117655677551147705366122633044744257340760151415736645003422062745704006502644145141662514363676523216432360074475526477241522351235657715645131404521225024447067567761602253057164435372665610213274711057554352122423006775213610201635417260155304226616473034015127117432472312030043653023031126737610516573722760624662234631533154543552071223103754352367035246007046001231532513563046771345376674710264210730647320531140742657365750615327663440130523730704003300176101752603417675510034237451636062721161570417510523312662762226422630120610500031374031227667324374464566737124003745054530601616153057607632576215717550107523553147026240516245602037017177232711750661625034022644540351202531574622206532036167153204415551254270437541656145317560523033462534777364573563711765660573401544461402360326237365704514614073530106532057141040727672614373017046553232763147563424707100250122526050432347115050647473765412037451174317253760673610155606653141460766156416202622051335645776152334262362116432325433205205425560060515641266640026776066243572661013565264050143074206360753172733774412174233754561332647617504534550321315656142127164174533760170713760256710340477707320504315074051543011002261212172015425272610411026212172134633254216265455116105710326553070012335375615344266705356602714244605121670361723264754673330172110164303471637206703002700737445570537320325173234273074670713713037227161170172340212155034477122404440214532152163565761627726370311664552102436156465304407306260114573110111635154126162515211035276415703401205226124674225407152065026367457043621117021771541731006723105624157661304303510512761426036323767244722323001015055145774302644732333357535700070572415771260552005315314214053560171045456013207262406732640076605621066023764710233246370035001151557444231017717035227212222427523263470652323605464067550233573246477673514445721213320420557506257076110347301463531751142521275026733754711570051355265263133107761177321033775635714577426012564341273512227301504322614305630050370556725236405543333003662756232737763362137522452230643554704264410574063125646671744646333054723101552350536042720740000341462333623073277750455701270753714354337334062705135216606001030416137265104774311234630427131130511545644346171363236574176726344602775645126755315137371540536746141247245140437647425153232777606654727431334743011206211332745222565725577443572335423640717411344362017376432063660137702562322720121345546257401424033744461737343246700253461101765642106476543522230233665053721142221645325547763401244162132437250625362737036102565567324053437132211521061025334516004730566540133112004616366417450064513267362774464541654236343443733373043576524354055424057645561347641625277603741441450444261065534412304211026600727373723327272235366257537125002516014154611227512227315315536117504565060072476315121450540034073371727063747424153460304414417520166301114700653263460033731356604774615627254103221220522116410522711330034154446665331155164053003301674176266175130244640410752237173404627277363661447370131622024775417543273715230030522037722660367613032711065252643046447547460230574163733131641711176356272562306062117723010325462664627650224457543712255461407174110442502447643575455201521576170442072506560762130022237472557325020362743711454221712436452713375706166461037623757355114571302774113372231433677710251167130313273543641772033006213602215511376703052603112455037274363633240455371230544343361043222015426472535027032372053367425314345452732434730472000141676022327131714252434267406103447110000317326117666454703212672063402332004745005313204463124315540027170651364467006567133365526560375421007275375321373061737052157642422412242475432527317373024154117770734774773465237535213054741717504724654156637561712656312144653514522137461673404421457451374245531751652144665461345306472370245170452057606705630717335044277171316136110424142422405336303304026056377464474174074671037344717024307010317733347702763002025747657024675577725553124626515673063163757400114677563124200047665614617360575030512010477556641173770127305405665031502231425717445760270403230352723325520667532026235333730041025535033566345445020663546564323106325007551303400403320101146725601412462723245250470721333364654373600310761101463352426602071625746421665522344510030040274516550402246232400557346472415532473442154751263377660714463563242270106523034457257167643631036272277242340026302757560370175742466321177620655622653672631540551161243430365604423241105236736355255470511317117411752606252622505301572610537657034447351014351172746703522437265707642335262077164273336043606340114751717732202253532541657462066550105677073544065335440235445577565456202341767566723071431465456136145303026526734435301337276633410077671437166372451023314677112146017132316706271402721112646335130754473721065707512256772223503736542003547545611353761136602247333710106541570224167751222364357006553667233672106506012572144733530711400313052734244560216520337337603545324471703004312016663370244635752406700726313760053115545740165626721423707435331162702600123561763147657417556341225546310664123256747052353173712253316044065740040416364672374356546113420020373413216242552221101022103104472575107166655162653461752467756144550442207017074552637654545645070041046727717633737271053273572524164702264557752153770740563122001111621764610316012417066626424701464302075026045726416604460247673441307440651053707231757136540576611614460511676257745424604046235465266614241027207763063476656115533054273467717412504351634066627073437610773261442426644420530527042345316017706542540374474010365120560652300603744034666025552340472432032131346764330166104467347471736715145332213002057603356402056354131043614150765256740517254771421353725330426712560167276730312347446073117121236635072735547755172227413464032112677156634060576737001637554572773016226225123262131475474235141620556644577243270125407275100713003052431212043646214724316413226061357263326761074635201517044102252265574567414676517634567625344403606303634034701023222403447150640062564046065526756577335605307616646724163005075270212422421617672503215421106371343477303174737700540730215320624652237157475036360400736356265730103047262315365733500040272575242333343025506714573573745343514051270726114453306577461502043604664260604762324714666164255764663135024666275204160776667673172014327564762725743751043411511540052263056254305121033451512374041560515650100610673756012640473116265347364502766033700622721662526161510575246142642661404365366042103333725145413313250067245761632307302247017303002172331467072700224657622044300761732776052641015454406527230222031451323616475010037602120743336123044633174143030746310404330541643516227026133574164272600005315546725766353363654264327606247044540340313173460671664736731557554532613300014267647025100505531064576243025561111724344543752616324045535550265471767723667053004344403737770634611124111705603366457150606706700445636314202613701723247457732376361217376576711657175303064564336322765752564166003412554352675625103257125767261020702021573064441346306635220146612510310351664015147014711042017063034724744636545635245407034634265047371407367775130210456511451220245127017245217001662107672242620210432772364644157130431422215451154406236362254247446676420324644351401663040301673521041276612316472233362532637451621660731225600636107117476476615664375635321414377501422516650615614211312423230025205253002047062306130306303043477146634600516634210461027255130202456766261777612214420427643561105330345054745235024357777067113060430716170316553740060150700774461716122557136117046466061774556624153144010507226265721402715250564473222615345044173642370673221717401630357444622635460731722547677332413520745556731453470315503660422300572036700564406040475224205370354531162470663122374247003243600567756564440674344001413552473262627505200650452057341755470121624213363140343532024516604237263344610531535433515004031170647327730662246211050016664022774434652132573115422263673423576767226551402023730471224353036237566233332076066007143165350326427167312072276601713640676364707534653063631374653115046331002440267437723500403115547223716532573134743262736243750472060043144072512301010301674643363010641115377154260445215602723343673027300256272075773653245667164351500656500545410311553033161631433362230733123006463626557741004251054601316207317533277454026073560537205737405657131560707061312445703252445356415403426155770713211074100463206336311353057333745145071727404265341512576336075675014142254541412124266564362004004351623356207240102545410717355222242552776774773151522567475743336060615127215064243006535036125334300170410225755331207512542075226630422776602265460651230511001702762061617126156503721770323566472626522156754103773564367275113745301514130413243522227611444346476755407427024652631332225473776565667122461326326675262151175060372645323015742213674755744551404535656555267363544242336110014641424475177255312563022352151665264141747157506514341356520356255074741122616312615747057005745006435013640076342257642440053031663167274745711144532403465143272404132511571116043003642372036173745573725504124054371231511474352331575535745640113007641007303010274435546672033724636076040367646301061223557720160420741324146674712230173250603543177011363774236565757667140520366115374755605433507372673217231324725010622511714605213473164006542542660572121567254176412752040005653500750075750034045461351467037144217510506073212007333353255132102527664751101772140767615231232572612012746053161353545016247027432236474542353701641203752711335407240671744034320325633410525261643170310356403013656206405267436056170574757312102247453642003646570315317655242667016305563206003047422413577473356217133076320604564652207653034023014670266471450035006300423024176334544372324136656371541136445070276545656623120752472714433043621766632745133726436347572526216621236663540274501635532633531062620644571202331556771431165530761572441761633777001044523730024530256670762613310654103164010565273127047355666351276040075410464107565645141465565241052754447735433336121003264774706107373350747425646756427005556135000311155722753557031652464177674001372736677763447551356735262545013673270435361740225407250536636632770777057777261467046325467426641743212642651105426143451134154741556236235340220725121334552263773304431773733410602511472331031154621666267447070620055602767763327074534157530653054334776070171700335272216314527077352573277327064325767636203126520063614233474513351414413040560305532722643450213446574514201345204765002115072331057352271010422010307262223635060441203106024311630622631370402307561650421232117775361167217427433331453375033544106670437116062530431420723403777750743561351423451303361520052767622164517074357100470224256676425216714321705206225652766167701606342266400431265027205123346254446710104311416621641111543537005275305542716356514710273673711050720024776153235311623126662761217556346632314715741533611626254041735543554226001711423773637052530253667235733550241174006071357202032006500260470222153753365151762154706671620757133154334655631275273030555542373207133307600712473172607454321051141054111202615476077466003212150256104166100251630347122754206153165013774163332766341114744761645563762342216507315451720564255223053475016712214002560301630035242147367627513141300404676614604101144060024371215437407330256066731160074155351501110161566461075276777456477713662266665245221722317105323311755144065443610222514366445034717751332141607227353773232462761577775127762352766003111373426322640533615033543065363731373334217506503467415423554020727504050702272076150706334437141055660346572013063614534766674705073306727562720524612174407142366665561440063174747622433323756042521207562060356346515002734413364062726416732621716651052252520135232332152365362230145405526602477744045043464630175665127237711422735342136724415521026312216704334450603157411027410405020165661671337075057121755051462271637117602032205214456611277227515742647341454744565346420653426364677060261616613675510567347774667130225623670626427074176622604552125622453664660517447367542474260605621772720364665636630541322725331243113256521465430021621400677043732162735015711365536707016261156477221430650073002344564441055007775236744511601745435424521663771474413720232411060616006121352132646112044047515327610277335733615466325515662505105725707361774446137361051127077110612631536203350114201220362426626136710565452025006055221623003054011425330210340125634341517652540773317244472136764654435733120444176150363117771607537701436567652063377237316340445062017020365637672534320643105676145303433577025000675374515246656300414240124445236660770557364733414430143472634555424460240563216247314024165001441214366637565743235766310322532776000130253243500260735465221116674071333431726021330214250736765176217465115161751561004652775020267612264246613606731174412154414476505143632721502300460603646020437234251572215373657337531021523114213012125254346063665551643546666442243730506416750326106276060336050756227170036264311446373345727646456551754726512422306611340122261032722161422242431026545337433735260363270266543634636067230737331124251235006044373701440166703773212654721150446513215005203163154135036757532044756324756264250440757203124132775720106005435350031231106710710320677056154506062030472777024172004440357205604577150433170436730621017457750721034142743734212052072470347334202606043343616672402531671162161555411471670604064540340467460112266176162324777655506316741763034573447721116153613737336303456005313517215353547765437176612366524116263310551451240437733601431240673421526145661201202320435014534440346312253400172712733260546524410100246717670141734771742620477023060164051264605675704407763712123202047725634661475312406103412074464040112450571742605756276570735351002237451036762024262735451511175775751320417104015422404064352566274253335251461043763604067014253410247617655045673344042401064027366470417072445456714514557712620054074600034306527336665424773220175174052464412137120574541744074530536411675415647212710057620003131255114742771403074475040531726172001365055741743100174776064226532377114411401567470001332355404263603310213646672341377142721764151236331676132335117223547404316504745231654310415213036014453057357753174347624721376350162613733135770312151303054064342670357077353734156705041640451556535162544031373544275735674105013221376014563534361364377205300304426400313375250556235420737516763206554166237773212271251374705412157331475500710730503336626054636300724372356616203400457360021774451713121056700642372443140531303545702516351300521256454206261313056570343151066367704551027045710276434227705727574217503306723063534743137701117737403414176225310772763535663225432015172165341033001144516760335527334013315276057443757710042052603364437075421014675050243760627732470217503201551713325431373621620715630436361142054671530755060014224357076444341605333265654417154277411354455050376206017432015335474353603075033732547322443526763632552363753045320313606522345013577316123274223313577447305103675570732665131124363670447624464612506654166724355365677506540622423302744734122571272706230147134606706244554020474073672475027161057753361614664756720707302004022415217447257217327214017545566562760664013344353250646034604664613625444541640756335467330761252245321451300661413031514361637622430711212621012017152335715205565645374244300327124477215525532272043260301353125470774316465367156227177544024132316357062164563250753122777544237107716627620742270235245145722736112133547064244132563547326004671435636614200620124415652456760765217500055136571047706566725761232752233251570232777247230727032435247721376031447157714037727321065240237616744555746435367444440503722627664077771223144541356720115725070262174472026752167740156722436132474437547522010221460123703454257261065761210154324366520501057056101371360676662517766141752123665357211655675403752476033430407730522646740427417220124723247066531214667061647372666557036507037613144312135107425322367260551077624277557221754305043256613270302623563734271251673777644607457301764376761146260576666366012311756372052536157377563132043707672235416767614057701611073053514643436561200046515616501312536030103715203622477601707661136012774506567051244372521146757541756257142233625031171354544474201646154621501230111252737154346045344317637621537134667563265464331233457667415651732025402441626020124335674742000644455313354566304212566553067506724254625010502657163127416034152253313120156272630112130064377600263733103030020743242302751264062744617300303010061340231626613433443435635306001661033617411270011644261370130357032052053556500620636672311007553014663702575451671420050244317430547631265545025342602442470556336256640021607710565272237103114241061577120145554435245117327551112242523536371230771245442173305565712536327742046303414306740244410536371306352253766112454243421655656253315564370554557102673266064310413235252417043220012343643601070506453232075555047313770126370707605516222730705533042477450332507624437670367002210273223311372254202656054332225067615467162402634535512477714755265116431351702270733131111123405722447400020242253112513165403616020631052075620333273773440120105701101230236242020164053262105136766553036604667045466071332501463165471727415406434557607736774302061166220074174305614413254674734051676523565513666733051424104003254535255115434040107756136501245404017174765541532074604170244104737511530223255134165574263347317355224022456223202111726120716464240303133721616267267105213463032632141147150305434023252234533757534600071716344241744603476210416710676345640412350415370550635711567534244315115442071354742051461671713416160536755224745622634155573633774327374732166126207136675357013157267156443733515253270657455514630172356766563363741165562041600521563417634116514333043000373242411053532473714137631757756652465017664220476246347227734653131667640664751520012025670700207757210120240447176056622745333202352662640727440555667271632522275564505401407721763034656536304462477020613606574765261510217605701402412743721440532050370125743470772046143456523323131706304273175675077703373453760212263622176363027624654435271617400574426354557704642215514636326031200443150757114153564702327463376037242713745617753675771060015267476173626402715703632455360754362076243512646357571346506226153353506106123213124504047704270613543115775116021000321141415455776316057171132234147576013647625501226643061664155100526540733402622754763100507171002476721353470422213216574213420115771142200616603545346241776262574646407122610751634752632617427203345210736526466331237201466762730216547006025413537155523417664564262300331553773571731670516572461067016417533551644424124642055247011245516510223576366253506265234167125070121502355375277673362653612661505571251726161657713707367716036535337203111420626704411760035057136635442671304213257662542444121073344216437105622143716520143367213335463475255136171255005127264544655112173756065401043127767101210700502073226243122412577253310522154002114477640114776602437547565652320012573017437676540524002300543174344274174206246674441065003323345733463017317711611121351477450606120112526115754465506513044454665550304663601672303265425124232624410404375377047724200757377566647222132425357013507507362412405201653134676441052440166230112122764312137622527122237512604124506702527052252177005317007030433436103423315740126662504442601577656237551603523416427340005755250675323624224467100577117523357073031610254645445410206665016273426471362477111331024207727063517316672466105641760365261452165271640650031744025403461326414724730644562414405015327105161703321642563501044036763512306603317626157704174752707712233424062654015027570153123620254712371651223617356653513367433736252627227720165224527011713754003152073734756406556516565612573542652225032601723500373257642362415755173654034471541534232027643645614727275551075206231433431407146036110667004716710464155512740414111446457332517545414325205666020214271625402330565357671312515276701004117151327042624300447546100114136354647064167135141241234661610021407442244366625700442564444520560523265713340543255645032157257303746302147454443230250210600565571137070512055201205132653126435174407155550511147512524411133305552127306240441142747246207437532373574667344672412434425271140465246242732044764570711166753500717271241442240214303040733474035537221447704502213303265727101127214376410302463747457431741226105311417003234575204115362316152630271065652617110421620017713323024223737162221172324160725445246516643263044707433366320171576642700710621422656142603172416701474771346211465724131222316564231647675352725172365731675507220122635500740171112461475702773710053155125261775533767471464260030430670765575740312130370061115713100047574535470256475121575756263624713410342220072755722656660475135637750201223100771740060431110202622205263443243734735657411745466735723014133717476736506500515523654165734202157036771363231641341133717345066770624356354636354562141321522427004376212275365026531624244210351173435260170674435200046744000504472667706773377525563456067170171423760047577000570535011075053471302150707672441361276213303733442472272173523427364210562370134164020334422527405757602677203135067641520053655514033506562005534257210445400274453741021605431070216354250154143732056071636623336232453755611432344725010760207273347243502066467115600300236135577151516310044654465706463123722520601307436713667671241261251503153606466760071721111765142167237404556364345260456544510045042310216635153366607746133565127233217425460315537366777602155470611453221302566310045660424575151745243422204106201522111326430323622422743322550511030376622150077244110614712574557441561550550273221204313163225022637241710201563300510401133140352047264623554156502174077131710204553761667464150357745364557153170465316060405262705626077415411245402571266132610500310553231755272653655543441040070766523503055612024450736722414333501116127265663744012720736770611702477112356644705423617713243301625426327637560523663633244200735305020264074654466614631223115161127432663360116126043612547743547772631225321063544032152004414336456734234542275233174164502050134712240461577235260234357762377007370124761700411337616601530607464273071035701335262324464066645664637274735377632017632640442256015455044203257760153515234770707123500740625006710301137341261123143646575306550767603703002624330134470653617664555176132765231014666745227607043122755711132516435601170507152301075263621465214002055021060330050475021771155471766076246602050355314717421237345227503173574240424716023703545122624063141061654343376537265247535626143313534541420051727601533016302520074420737110744523171474047105706764667532210550007126216466067305626251622752751651077475310572444577644007446561024473721052457537163416746074123024220015727016620115072224540701355215136272310507167243057015220077034320076504336175400342275356313417531163733766472727027711652424735733646727027214622516706451513307350336245123437726212010712156444352104764316554753270436070262454114422237027337056361430602744363764374201551035202276253022616423414434320323602643073037026176727113615403265755576715227127061050070640246036330455127365607105452355742346477315023337330613117247065312733612405710361772752647254416651743127453646041503560673303670031170233744263350657100472356361335324071647606260042554266263773713513150016364554226222101210377435025710032475127752312316717521077033551507722742465744224577404750673447660054336622546037613773131101556633700303612642726665641262461434526260751457441136621022545400421315550272722275675101346503407336142371461230133165272413644220114331037532112452463223340073002273620010610315001647725056172421326642371356264716350637536035104252605751162223760464106624200062067201265526634561114356455735017463250544430154546223514263371126135207564274177776171466220663422400135510372434120316116202217464353212704747773635707202453354016332614635643233235331150556147032062605017004246154764010553244112313202031175204147172542553175600541653122624000744514241632214163732746732224152665050251001561026211660574301732156067702005627460477200365066264277272151146501771657620155470202162544376521473370050567345405161266636620453520273166670552251140061772557067225602534652064203607365051042257521603226731273473652215307754235045177223327754706045701537455322442064015455170516606161560222023561005256117511657500551072140570652400760171571535556473451215726356733644774242020262242426612046501203253765307717114732641326642312311207301355053477425406313271535177617422030243460141657121476355715701277046373314374522461477620232104754014710642517362672675267305735264332237617115544452233113057523762370417006447013236554575734126603021754642402060471542037230667654011701162420312637635267600264476040723624333452524563545541141476635017060223230570333006106425066347467300263736251464454640536655501160326511471743017335565365540561011512771271007035567425345074067237666601425102253676064160331516670325605524322010347045473600660102113315032364017322026631620400336533043236322421160570027623746720766711332004363524763325513602416060622575512032635156162073562667711645425213643626027522041652316151524225614235427777170407666243230316525616441747361543337776302247300445514362724427461766227754153752322755463256311177643034532055443745043222051245076011673742412012272023470203527100565665726565411625242302023657117300034214014021452601212723514170301354254517104601070324506327154521315267201470421755671501532016551230130527154451472152345426036553035527500744350634302213556403032307207335657165665752206362357647506001455417017414433602154303656343736300222140364063767650140503654411000251123254645310423463060101777314401063256777540450714702075013635327735401104573020037242351750453631366631650301550076435762636124262251274441227646612220237573651213621046151553674461145056263346253741132361775762277373144250771725464262552535434272222054516020776334073371462125644767430650145670451266155337637576415305135766546625775102145425711225421567114132462000474315461062566437345263615502503040560633606426402566177646364101076037010165446273000674510664520424631175133072561636050755662573352604206112511435332303301730124746524665352371024735200503615542133716133024144361265602450340566212467403056422207560746177314130300226766521225170501467445137350403421157452211576611551001051506766170041044263431631451507207152363645244215612372202404621737400431603046025533662314403327147703226304346431764273324546213234115420273450341326504026661360205167761141150732120073204766542220337345171036657040132666056103745120442620427345347725027154221234331776323524216555076705276202200761152255430363756327704462036554610125744374246320077523311150177050644271660341612233064364777261070063140501701106172651146334457262504143526123020326522307557450177575706054426016105147321677676021722706565126673373667363355425013343044513064521470125440107155135566743703415124600515150553437573544240300620202433522421025257054366455100127120034175063267773330670054736307725703444645654371456367413647550245704755476540421572341574533520342630103205175004730715475330406500151654757546611452444716573642740063461404507311223516421440301725356130617444643421600734022471565644555675235243566152307700345165176015417736053275074526374760157614447651126175425627627232144056237047355442141430204313152226723767500762105767506117233560717134052504175302514031672120252235644325077042404236326141547423303272604613424211140113026641721457627324403104617475004203770601115024023706646653262467231411416613170675104555002562437251742413374323763525632727560546714256305722647472102462244073414612771303557366526451015041714405300615040652155760746360617614373662665761543134577465057547451244105002210752340704544257063753412436725665670700425362711673346032161402363014200375174236712274654526603101413606075774206106450237363542466312050221377576425012566222163651344315021020152161317532434247315522345001471367560754456474754066254314447056510054463213654446412757074004440423027716241054064250160133561731331177526463506516353273621531326017571075310537374734420107724575423306452142055364047620374664270465247071335012547164564471756052047567362220253151722322537442550070626342366543702363767026231443424376654500667556374070224007524573711515745242636667631532260705413737600767274162207263554623017163634146335756235170561306643647221017056424777752311144250046122060516456240746543555176176323021474430454204231101115224722377716440543653375351233455006563651073330256155160124706257551211136451430040260443523756155760200034614733257330350762045503134744344375550606316764720370262541500226006072702005004330503012363455056206264050125057047761725116124410653362503250042473674367671023455572146344612677144725336336130457713143714333567703463614254154605150612551743614616453542031742040013236735505331532676553243702552703770467340426564676735624026054557103235631666711533115746606066516541544405676254556131770463576370421273572404726305426622065224601530670474232650774607343301405404710456010612271716001371665304534710716732325662637652752523767543466347236346363561403144614775304616735473642513236765504046470000726715675640561073352236153514152613656100003443323475634307036305120177477134374015470307265103207303545447470015104657123157735342646450271764312535055422664712153557020566034422670301770636101554664611474230265140402225721274151104231521436311360475666375027604375055747575412656752036115233065434463266016543762560775040105055574416157771721125422464641352774535527502170111437270656722063176161227655304756602462154735231211621313757633034542240234466546733537704457664015614527225023311666460421661004042645131767660235432656123606601046622227407447743163052136245643042327426404770320574406054341214523460632014523313546233765576441600261375763311142660305225023214162464206560135427477563157425326373736370414562063734573312003116475552710764262160423642376506427410020522550443056131374505375151736331123623070631622066634223263745460645100173756533514772306742301222401517647421075202750201750503231074343472325550362525552105711761647110034322733417375462746206332123502220153153430241756452171325006207410413717166515171727256445056067757756130662106742577365151734302112666565124004014023131265041410162207474713242713456563745213607252216377035736650112232741325167412644635664004766451474532635333770364067470703247105360270036261045424645267104117360021056042413320152371317235722561266640731556145404111741643654524632226651420005050443265472246244412467133013476024552263710166720414110155131755210505112442061156566207337714571655413002512325063666127130452457170143101345316172105276106513414173264706324710143503750153745613720577406166500565577523630463042414150333155225761453162425757225331033307563760566027607020151020251357257516032631331416126231011210150577323740573742363736415611144427620254607407576040546373472661100277075674172257144414326637022534761163003732060016605050100443175276047312014110751621342024422702632254253734665330314752721423057745165164475027271042517005724127577750521374137410137617551472131443603156701335347422727742222122513227365240454133370027174040712632625024727724147523072121153706543641626605415166120370572760124332211742574430157616276250621735252470563036336105763720506745752441607507035014102327366541520567760545036312300512564443706351062747763541665721001422106703223406274755054526740523617663714436445431537613746375663657006215156026257204506031173205553436405150504663274125424315623560670044624153220245606141025246704672604461176415370611224621233464674555032766231104031633051234071025570070620003773555260237655236504434064722334517363057735052423243542110446132407577411735457341050553171451052573524115540211622207273762454014347342022134141650544105643751107213776333110264121103630525457000417772024204400061541132104212465153720422435612070176651742535204604624034003500002471443546251441644570162724564533351647161533217114171106606612176674253272215126460022355630020221734765331426233633114670446441543434677510764040062243415217101234523516214007437030376212426706315243402125022402243456250040606763245277460716621415322131715723575076351224264561536721545015316772152754053767313426233502126433735667736342466660613475572763347656330634664632035766341070535672627300012073042701641622231522013621157344435603307465235631674261760000134161072131661532362071277524040667055303416103375436656504405652704316270352746650524047040370746166445775632453642753262146515544337356331704670573331161203752412351164306105314336420420333534277654007122612330663244464072701106144626314310171220730646517570211161116647770331660020603525236520442610221136573017747432102767627745376475436667120122053130067114344430674103223116214510632412423635111166022743222340774325423024741516273533173517332764711407401447762727136507357047376530636143264116747123053720017062224046173314154070551060066166705342311530275056512663521413704326717765076370637612567142040641323172375754404714757373157477656032711601742236507444233077417112131373337071045473412404001505400320466444452552670266303352262330113157451560736665316045553614300132227170742642120022625464071000013240066124047763332021646264575220713621163452060232022216701345361441711661117674241357534366427407134346215603173510476145027723460715214044414353422344241064275254727015743166044451071577463014140665622260107565272741067476106145313764215722057464245704224670304533526525277212626227126052066637151751244765400157553561454637010453242600331664212167204255711273646326704356215534763101733641735753677050470432203413503270113531466430603300767626752715504732402641310164542171514155052145674521646054403476470704720411335042140014443236650660434645643417004664755127250665520454475301542041165416474750670024276054450604635172264252232563322505271451637670671774403560227064213710332051204343706473105402671634537423766155055573513740012604155330770151611655270460031415720276625733474707747272127224547327557541312240736402210220711446251310465353350250342070015547202073533243403334724631206762137316772676065644647204335051527653747512670663763517731652236736177250616171300525174022302555427204054515610223275557007136063300030741200371605040527462002602306175553467703676050600425216274563350407152361621003653774412015312544506375716577255552604474035102054221715637161424615111655476575062706542317657053771572716044601050162610046336265224007777236522561376474211452673304417432221630247672236716534204053006701453313070131073754524013676440726456544720744233015727115715405353160624271366375474760547675602616531026712020502201233671263316723727252516147460451130561144445566560235345704136247346407476207534106643037606456331546022150240545505130114245325666344732177266473624267071666565633645152201620212476062436445160614607442634202233256532613747556020371577044360022724514273135545322713752763063117213604101227554106254106456535574102763257224010277347751612137632633344334336274403507115347467635424003657027755576102750755003135623035604234673701500134273617164160216727527425436142216764747562160704425765230433067071111731430434757455176175441477326447007066254000511346304170063615021540273307120720202206361507752321302712121140051603004726045257306462335131532575600220771632574421671247150472772766275613715215576146326521777024324222475145255737376544300437170214030164675403663477057532454750410355740060327262767540250614471412325747361727415457577325535030164750106405034212133766601533604067656464211531333010010132275703357711665757456125046416522212531473560060757443716521736540700513550422157565773457642045435703425551504315315100324677517414777616345242204451654022677013017525455727203275015170157415235205730411710542724337500677763232513314164031763415413575230247027772053510170163377014007456645226003315731771041437772226111756460762336720544426172003164270057132606230407226213302661141756305354152630516335712723607715523502100123016140654272006137064720223210036327132363517456164436103402120217104353570575531105213065157632021156410210417353722672007715061216072056002752376355645776322012535106611674201304062745117046600022726432532014351727102231411374334235362204647514606374256026104706761775502077670015530323273504374566025563175232361150365306132375272505516746472323505036163133446040355133643550336405616640350241016701362344263461214163200373300201761717006652334024061210462651627713027052173623773155304076211242217722312407501560100337567524762055603411673714413536560074640225436701362771130322251632020670674310635606073167514431234113477716656103405556170752222450515703116401732115513536006747701627712211416120763413620225142265561244060625126060123552276320745266153721002307262416662321001542353360411034224453233256060435540655454725344517044256112050401345174665662364154217265032424346637143214744346555117675417420425413643073500122070714454104274342367757665712701542502702242717701151045064074457722156122534547614754454720651555170574106211442234072526552271532374471723631316070600665634332724673727703126210312751050552016556376243255402711251226427562476372123251434016305452043106643001157657226306103467055062534123264001156603340304640674166436612553150264207327221143456557225061142247754431610604716774677255710525504074052701377513205033540345044250072624126622531036624002542634243625612540272007631543100317600242273452576600704155110145612041555575360264640457400032663155172104277310253436467015427644127040177104265607225415601141267736671477260361516502473450072737116256045275373503507372032074404465300047170127260452102730510411760125407621635740235264544175641702677254262543445232714443470542024445103605343600723156327213341652266042475133400656401102670116353562504722436364661060216432530420000554741502370056004073146475004446047726330106027525207102001063227560340426611704040717500370733423521314561605072777545310705372325207637360312760665400770340473207724015345043532556025273144101170106503166620653633032115155416770547114671372637332524203116147552156300600671203214441062451456232621500441710530227651765570647677256210414167774555512322115046356725045123441344256514653735364503063241707617126522323277106424637327237456000776460223363637674162566364132457464154702376363737472176630644721621561610612347770473620701732437730556472037236103627527521105374674604426333741123714460365011530431677536556301635140632451153652164765565435106206504577670740335052426603363316573471003277151115612553302241133326565261206032634032551567022351050325206240167546361716344176555735206032346126520047325516561670510506522311056035115103364422447456335722612525703562677726160560773435345522627411113542320037246034340751306664234351223565401536225340655600436043766736422662332026516764507516226653440711443065764615211325400314112453305632130366434223233333261750265541777676566523325323051760707674633527410676222420021577277350373372636606567677057522467353204045123604754443551447432225371463051430241711745615100740204016367473046677417016350715722514414217530405261051320444223531657357762515212513311617577340107205372551757703014051171227414757036557354201331236662513217051016462142302112657665506662767330247274305456576363220270706442443352721463624627173143136351617662526615220101214777430306156570154761406735704334406150575726135712035134610331041216556313311567432114167531470430321707075204112654150664617111020620016242014227047246743204412103723102443105560221312522434501511314637026104045062060173051067570775271061700617305316223563776022565733521225420317200630100104525453700456675406546142640214523230440574454131277727650434376740102737276575543007504664152222766124464574241575110442430625266411055351771740270063614505206355465403674720745014052471336700750371765724160271575227536037250161434027547161505262263230346356423010413400362021520076726460667006063640654515612430701775015646115100354566711314606247632775563134103317121054366241462007602564320150700120410033477712441407020645764310360625512074116067406561324546101032145346647122121347347262723255357540356434721163310013307673776273171711510006307503033226617141007720540651372644563470457113375245174221764664114063375343033765404272121435666722705016721677310033166774704761152146570006465014545743264734130614124624701642762152734205245446232602771444064236705143747651721203111261700455056466376231120021030230435305025473443705701221130555657254567512543732551305336661006046521346452617043253437271366112012400422064520724471351032530247070500320342040307605212202763331674644355730077613503204611564432356722500465165557273422156705603350667160305277162042722211461412513207032513753242455154513327020107451773563240043372734375367422646563265725002522335267117767315400577314004765601141050526277725023701600405175257766375163016156417016746544415573453762262150221463702300330733272131401534747277325247310115451345323555514451136354460770426362451653256624655735756012003540256774102001044542667225652103721341342065725752770523214405573525577046637327264056327200665243266601324757255344365243526527003752303743635621607361662310177244465355564771000506601130761261705642177750112534412260656655443375003301262103423630736514551551736744453706421645432065403332233656740243461302304425447350570076052471527052430574537630157651761472245714254234555065715753712243353070362270565061373557604061326344762300647100357014124340326621657464517713641037123260676514326030532660702104521322041620206524642640277052655243730320117763127420214105745105305050725021164526653624770261376022500566065710113020517615431171216627640560550714242411133412746631621631743147607334443754304335457111324175717331545502225301151716252750447676716430651766235052100432325312404373757303132243564656375541147377317206114543457043213172572614470737671741566556044650375565055555275075262450322175162510553627102502360146367141515562636536734775051033203435327512772753224523245613015743111135333141325255733222351127242346575573164142546741601226021014442154425725615652433175452546564227554055034333044121374302432571566576716363574221417611202671540355366722362450243373242716005736365460141501630172647352331703762615012757312066307124636433450524703335670677700322263656660203066673026257074251552545304562463554341622046277031004564374334671664507164763025704371414032146731450257232666305056630540412124253026050230411342677264611374177033325471410364020337523113252470011220041431456477635634434051010176327236037473310323377541015211436505413271010106460654321736166677424110264504475413210600136772663374030177475633336764666752461562560214210501730151444210263717220301404205345375311260517050216767103604032062630572173220302153444034656106114606115067172271265643756006726412053645230656556736133021612477034415612777544157775355424440344022001251061507443037031660077541003775035213733413521432367134340425572072406722360221565426427021261642056735066037217057676215665241750100764402763213440571277520511317621345067751216502735551776415520173670751633436706116537117160227507430604662206625520110731626154253734076742422142561367445443310776376607211003131306337554515450345463260265274772341604320440432572472531363120745444077430273330053167042601755106056152475505155337553566336704613122044740147221053242622701651476311202044000767111434731522672365046337550475655013130152561666757346771267332245636260665664162265135333636004667137402557334714325015101571071135136422672756323062653664602570336771062375335773223176127542454661117105367017403230336755120070441457136100152055103123035452307475752464350647401711732551765032447224735376335122630112424520511161573577434045261363510727655534204265716221373307242450460157724274204034730365403326104554351660700322562370651646240601075260460622556774212353676457414515444714632663313073241624462077307247560725140161140024632652273461157627127755716205504216615166412623017055367537214326575471002612476616100066003742037254070375732200704771234741456423433610372212466255457444550454602414212000627700624575566507711513556762500077121312614034343261374174653744336373202172473263160545012345134040760363764656237215434520700455113007224052633714444152640743563264110333225305610773035343126373412460671452717767513673476237535413670033111430047406544767536112314301672602152641363021016575654307660361153264657463173470516162005202452541210647162321215171677530240771223706365277415674203334155263031417543350344054441226735137743246705447442350646530664124130533401412335025555000557741545073655420273525501203061704147417263656677710243704677313426655174372112713206426335343042563503712677403616277405356207011776166412106321701233060220045424243640330525654210220544243642714665304345531322342136206553261600246727734327105556127354056305114122435607436465517315666603642203506071634764156060056016771133612766406523664705661715616276260764563423603647004243320711762450111004312643243473537434576547606235513242050743351526110166145402313662202234723302543452324220725750336070024124542515704530163241520547571361074422360437633036620156462134503375426106072212257430540746477565116446460020321323137706055116646667372736001613650337625413240126326304301273403621131340264165450156655001754134421540477516204665147600720023233371104620376360724564244450572465471615246474131501573204673665151775672311136424266410413372145361742207166031472637223052425720556677316233601227325525462662177423766420677734736313770540253507025672244566032106454306134601207613356524750133066660075457344656777467442772451244615073316105510213701462535155637115146661316462033247212741056417000007031446674461665777211336025617276307306766701456122724354140020610342765522117706224714610562622612233135107143627464753703756547114057735122557326322767633012757143025165123010775170523264657774155316570626717060224144226657124453536533771073646730475016370227107440367750641475402776053446456402427133145370030500677111436767065156005271422037535042151753072444604675521276423044435126533177470025103442650765214527456760742053533566501270762644232421420526712340116613553002662240114347550371201512265567457711513035304747071076667661073752507301330501375133427175034525774077031031211105421532710246104220554016567676466565644727545372762520052340303314224572244566326332742372113521401651746322431213000701667636561477170503271406110310372403546022316015265471400676627354117714334565302064424412442350212456226600703311155526623323501260066035703745543722605115010217244763670114565767475431167602634440517730373065676324600612440776455407574260656221525255061151173171404613703476662635036223747345653446141442376460206531455514575204511373076245331430163702211052051175073731324032433743611041652153417442600444771653366520407457076231304436250751256267736143551420774477367322313626057702267644630675776205223562606265673075037640660144274044332227756061254062251320765707474665011327624613107067421064440330551652720560647641267570526307131256650716611640003035740446562636305250705570142071162200006366542375551316064255641470046640117120126264111462506333000563615227511560153562667532553407730420165727726427661436761243375050450245051730652566367660503302377616717717671524772724261317036372116515303354773436255346243115272312442771435670110431371227705132637235243115531427126151647605123611241374156134616366721105763626342742210503050450126746066100541347771511703701715620767116360506160206376667176057460040537175360515733776533262514552335661463477370002315773462504001175534314367413720612240211773355023677602566130135520632044630536371137405610064607256466532415572640544726676601020532720673547131120415473153506462146520173226070010066402023156534030251456465125211616426667515307674006217422031467250554041634537150435532447112200601005712353210045144650013367151650332651671043317225467775416311473465045602152460711365363575074620745645765047000546057373407603737051546423774415334455275654633013223425070607534110465022124756747325331612226362370237254145254452126033654212775360711167220307223657156072450765536175046725441763505666741074147002317236376644045272653035371441553202135761673101526731004731133773531344047037573556461630631531342743126060552556710726026765754670201775630763547651220466315762243140362646356145630056422255146722617311676421536172245357644472076753040073173134227277422754045166676202153033604503577224447507360153275564675642152140253643116672616230006261256705113404352406766774073126511636060106240355467605114737250156016546277401262333137003534556430476170726623456054002473437463175370373347024533146215502465357161247263676245266341101537001010347515647707353142270400407670264345053244422020442062111653722163555323455271437251577343113211044160361713254775313135121601021156576374676765621265673652503516045513377243277617013462440022234437514206340250361554550516031506041720541136550354111405175671026171015221276164637362753013754234311412235745377130514101144731525554305020564177461471755342332661305671576370252107234701554561670774217665431050555110412612561047126340376153053007711700207522413415246014077100715540533247011650640642627157506603542111567171636756323126644260041374067350041347302621074303217525357012365317630427276526610556253403565756606247171141662362424754721656733177323644570271500642255763354701413756760034773313657660344544522465442631731704723034413355113765065602530165722016260061250624241075144316506350264541427365466557421714724032361102045245533713570315752374713574527110074146074700716020464450071163215001453501141532557353766734126174355156503460121725604250450434375652064330422147627071766063716776013016604326414515244763371720747410016747345536602061165446327536672001005653725046667060532156313673677127072301225616542311266153771432041074115505414117446516315543505337515462720515545724103417755575663640306573517456537077221070232233001245461345306122420671232247701033412335202014215677340255011662345527167512057540676014456435452543432213725143055055430107527541042066676523130266265201565137434646166045160366060043646631561656004515374441106017436657741255020331310152564604440631226474351720200774042417066742461114663703060617146210106613035072344560542673703505654000126333156537547267475305506574145161113007006263671415635516756633373312654266000305575160522012132621513745060533422236507113077254346501132733205531637576475561260107110076777614714222502236134067551363214156156011134746304054276036465171376647747424367753756235363726061513506746457537253503540070253307255734522065362537565420416040433661511027146154724403154252206207235500323160316221040361460716517114753134725130160714705521167630167577722604211352231224405122560365124360035442175645054404210657647515103362610630444331223310144747445305171155750406515107230035461006035672421025754246351644667452654771234435416624534014742162371751754335507734726430307772030452355214334304226250464600524125260041161446142606146061071763154714012354704211420565322604051357545437774244310410575073422126607121317124720507377761562261410616343606353277001403216017711436342453362742361151541437713354503263100212164545536430056325213511664454327121103675047615664436370034607371114454731416636453175766650272417133356631271606332075410446013640756013510141011724504127607312623451615462447705160065074013577353511015707100030273251665454572124015211241367037331602434504267463007072640512354104765467114212632730672320100623615166576615445144221200355500457710715242653662330445475670473757564553230040476611624507260744773544666641741540163063527206550563566241645754036275015747516172715261474627715262321146620051005570776472010062333164476352653662717065456745077211641401063101652246020206035715067460215022327763305411124334056467075660566005345641737675265135563507232015352013130206233260663434630667444616662460151474553377020105221314026344166372665771300541673412764136770135362633416161426251136065251127350330070543337616264221702011464146746227261366677123121636570105527032253746741735720303045313030242505553507440100107234467344165002053130216367324445053257757717663232453571737066741414322564321505060152720742526706003610204537326624172253041724554610457754045531415224612220036057441434362543352076437606473551654552443357302077673507565722277126032302610265072444574231107151757330170560515254626644531677753535562451426546555725443223721407655126460337044275717337113230112735353325567473105046742200315030511723765326253460447243235525503037163372152307027352407345321717022454346254337161360137120150720275001747045375051001260635463565717136223112650071523065650102652233622341060075047640743677133676532102501307624632231707246633732737135002260175020166060205710733155640676514741741007575146021424473376403410417026503155716244603665214073063760227477704753537375563012407542327717334130672167655664364626516520214452236314124271663500153053055413642433565303750257241000135272017201737200701131427231560763104372212141664240166667265322642052575517222037643017574324624653654240257141263427273120345160570644751713047276035024077256226730165015637100706406534670212525435063606207350060275344150125570741343613717366242045171275040075153606326375325055560346133464140061170450273771667344362661746414113515244175260700460315605551631200720146010460503746713107646502755347633022751121605753135354462417251656310661074437554657122676550747173652544354424755473005712034732654672621454415113624046633357630623532617433651037434677760021112476600512605355617454266215302063500213525662561167335547225741001730211502173535123031533525021257311176730666742420065517716142167667217170535157350560133342720006223336457273360635251503775700027656755777471173227356725453120275665610727437004530165212754754657617761377765431561146531570555037064255055222130543071222703317033344744727004416522426713245477666110637676670214052231646620623314435545571161614401334057577466561712703372615261306717741603636006725644346312561767253665766561506537574744062552401474304671712267230310261013406132656455071204271153712304027124117520042321646621367245620210440206165444474721411024062140506234614454627610046173435210424642377727423564370570666631267720673102155610762341452610630416470077777217073427230471226067432401257574443512361707362011604505355750524356306436124144535257543576034147045550010625520564122467145311156202106230354435022233072760125726133056347352316205675676221216400517743264726234462555457424373347154646316337032674234545301036733073304540036230477674761252605275564736673205023700141627364040640152005411604443277267523237443316155634417362663306715334625725660613333047664162666174016251663654171306421223021302224054331741771540064243205342103542005234607162457304143263520277703466657547022317117435133477447044352166331236413505324461271720356244300053406034600725043167574572263026010115754314102023101400507624330770166605341556623401703327232022203433551421725757771351776275445555525124436446362126466237323101531074204452307551120716377226643034164567277664651457433777722577447257540062227670546455012674320673061527476627666704372152071570330473300416572101216045641743216146710763021335407153640261474312717555716121666156573456412514243710163047555533431001463717174450666477341052424173441407347152320056710267501456550356654436355221245252402724646643247527444603130132554051777101121071514603735522564776230456727042756510332420546244356106711214063370220570210120403535435626761721362437321231445634762374040644124311354225764572337055167031317113527150415270547515761405434354275732213567177715562604534475614550561703754454113242534451275515412371167573051705414134437656407515534754613026456526625062265352431530600434430015761076643456720336227532756160345423351764430615201660047113511021320177724757112234037130730512435477631710276404650221414340142427242655142241101172326574205766736674331546532335452122136536167437711142767421222561762214254632744067202304024407450554542756213531240520141324434460061300230526604207002534707032375253017666365111642757515310736662411103743207462377634172776030753575241467764766347011121440360407534775652706415062135743126070673760520015727712325155346010305002511124755417613367516670310603071654713330511405013464345166300503520031024307554773537064737546206452657740002605265072005416731524422355701626670636540426604305216757523744371522323437233420115257720405574245505154274156623710243310311752123074656432046011414075140410764705233644327675366772620432462304260242525307141475533235073155551045076612150357206542145741406741217344563600745506231147667136575151353237316552250446154227002445420656443430445050620553126770676725407465605553074714741564616766622505224720141107676031003556077664255316423211152264320124063463302720757372641117346517345505211017364062502657736402140130727200624622156216206415761343312141440611657760503640111007364134113763210663610756614420371377216420703057076704241241651607166704054141067074355650052635623443433330231635614101513007011571402245543743446517775332146357037460713671176422343274276766746071340126272364327273177530763754247552502345466213231225010776674030625015670432543135424024046410720312711007146245270003656256665413152510202005156375603036717637054411760461403501225514135736110177476242464041176534715431726250142070241711501002251213637054137345753616727220044771220757440505456731232223737737226410362100330450101507253545705266725231421077474101560305270205174375321135667101050021500567551610361651131356312313376254401301714000706152566755530517664403723701251510242762413713037101712612750235730335164256201374400062625322317057630061711721012636543640027521337037062003717741504552647762310230033571600026647330105474066204275155647027763056437503224746635742646722364473170106352117124635306210324260740311261367377263707174516427747203454276662737606243226061301507055607361767276703356121035011233352723453100627673105736735702120264427740313472707427507764126006110550006267725213344730416772357464153303544777664245625227716130243366631732016216612066754541314746016507647354344070011367400437711236262421356015047651063012626073136052347226012425351304145426261353607063221547576113220561136205750704576136573704372066156461472717062776022376770070303744526217657472735464530640323643527020660023112357406732566700266325741371077376201041254067510761730420315721205077414576651604372064033236266530627674434416334610747423041315632617321400304507361751107034126665535310363305770227311321207744140370640326731707274061720676653166451072557474653247477261126406274152447120273766342465704466273771166122075733616655522622507475611174511514252155303556507327535772153014450466057116702453625656144603162714156145113300411701675651720563421377267434315517356416166040100450324371165364366564300373133553457415500267107265215140714115514274531113035017346731566617425245126431226015430260632307434774450616224254420240363246736324133535127705106006562511764332532645641065406027262531617706351527563344563773100502646347361443513465217262457773104762176354574417045604725123136456742242673161505102653473166540115630734754304014402510335251357417524372001322753621176153556537424657244665233604657765164616560650725176427740631163376300776566421525004774357113337150727571111012076454575501777624463113027356402336521605443711640557243577003356450742651710773172440204431402476071305365421537424203306507552412021361342027627415755452377543037242475527364235335730077251740670610176612455157010570364402516465161552624315561435167655553360752160774263106242722170526447565413221774505773364437306121065354265606054473476705625235677775114171366037507757423145413755547540246237347641252743367773462641076175644730357574301376034221661272315070753424001152334352026252740602076324074451774036175422740257712153561225107652423157373037345363044674520623627313111704035143314432024602225256763307141127106374774432762715573465531506624671375570335236640530051034540402506735717040015111326267313546104253553261572156505314520212055363462570340703245266262403345654602242601507774005476662060600417065046057225501457114366006060201427004634554270671070734726140035420674370225600235105427602607360641241273352014414755646220173260315476053731235630401205106370613174625533120527054051051613346745355000434176213525644762062305021433762403133310725122366573222245052472747624617625131043666133536252746577041146070306157005110212747626147245277542251305070435335345266333507613313362055665541506210264725250361064400247075074021612151264641733321166277602547616174132344456616132661051771206652174510775607560044205664466227645304055341306644521574331563450054712732251776317325522350627236045616662622222470136451170000405045262252263530074340414621241734406665677671002402136022024604745040403501265442122757553260754115561131541626652031463531636570330150713374176757706041423544401703706134310265315716701235752473532275556661230502100065312725322330701002177342752025130100363717533032641714103605102116772232604465322703533705467166367324500451344464042236542416351505006062676434345565562124271460654643023163206130700465244712677372714001636347105037114071744210356215747135010247210327613214736233572705106322331041627317041231435636270343412757324517134454703333674677706567716643542544162755727360263365563351076672325265615371332314603647357553467477023533441034012433470374702352306661060007665050221272651676302774637377355251520375504411745147164576715262635575015517232400240535616004177364202405011163741354457126664047255455016571013335565634652445733512130030176437460715352746111451760414274153717525432204374136030050257076431012641207602537071617641143071352466462636146105663735721776067671277404245474443747460574515310725634370013710547313376115044332314746540624011063217362303273516046571467740765056277134377275737621400325571743674550056336074651327417307441745072255147373627152144543267272142142464262512101176105614273062337722340420006423030331337746341363622644703173740275174532024555061435503322012553016670054457317462012163620051756427271610444264353704270402337623044014354073127145037745453715150162454217234717254654370564067124216752551546624764031557456604353160140530272763332470375513505446006633277673636635612353651421560350372673235110502515041325160225132352204473747545272145524703562521602432047327725775667455274255432133625236543435376276167576340752726764062230414556110237400721362754731055626104265375453051102421667104350762134443076352403067564266731471725322743625320122565513115322243677341530021062577562024216012041664545062450253765266212443300042311775002317754050773173535246400253660370775753012500046013063707105703704145155711021520066467136671460366376234222427231771214142402252542337311532152261111315533206115474035646065530522504654510210107727761176504017367773555164442650527360272172167450250124035262715751021251003544602242457506242774452562444772254102512156052561245243760126360160610670742070466337002555452111054033775344773234072470350567000137325215726474504511562013762372467361660634205315131130204155520345670551627451762226620504176561472366355651542135037407525431243525635015200637100530071426550316516615113450310120326562123436066435053472021100757472246154066374543376103717256176244670501455300320573603262474405316247635224474367355272267570676745254564576403524512560236277300063241676717350153352353534253673055244520654036472007665375047450337323675300711633032704640575075134316565733221724144630670630163140742215560116356211503332257010302231151366652373130306524135540404305634530046613527375626252325756020102363226561054506011173142002302747315161503562723025024715434200430171045107554536011053511112413412465536267013065335120643365366077146043171311064605204214013533622761612241324024122655262550723710163333212223172252510222666133242566145011023057165144170772647673715567115650250710525623011525145056641117513616223557272016365625031045004306061016671700732764431176112044266065536562022564307750206051477171370637024542126230360064713724102327446343254605621535254362210434400376266460504476763444423646503416531125152355065461116170667546403633755056016214430455343054063650356031717627144231536502624446353504635175727256523647536635732164402454732017003622251431736057676201263322525437732677571631505400610615617533737006242607601422336262001173712731605351722433737345474516270207044401657336455355411722734777204024462017637001410622204054444125471065076716735370237131556736460302676371756752152012332475303536704043360757627464635027022676367121557614507347314747313443026432450560107744245727520552634505104207223670725403615710724001157100012111655576157667772533471341563603630477401173760013612720221721271626043216175651027425744266076671051645643672470567504213447602703500406710452570137374055764062721575032401275332300672153440132705364211130005711277020434130621604347305203303076641341634754466744651277334230647116520217404165667165072041551562334006004742733763232346201115311536151462476452414026170756275575625025425232063274151557401636422237523043564770113347507125411353112201121046204354723267554177142673522564664370531406332767557774043331614231264426053546201135410513723237125070444102144032442226550606474450457066453212220607754443201765102214316253713371033433213205664424106263464520454765036204033466012210022663007241165514473303352043701762636204113277435571503207377127513363263611526341410125456134541770330225130053625542654212006213264637325655275333071021001617552472061334240511216756450306672022342565535477100256416757614236051762247355116130474376265066034530546574773412475474665104016726120405501715311554314624462323422570655467402342541074253177073177654624526421473100643240110306751356704713045724663703512041202716245011433764725404707377447760167602517436010226774354032614171505661620736026725446511501555135514765716727774640374655011045340331321104065377403272324717616162472017014520156206022767025422463075153726153217574076060054506602711615274375513323742657524620315557124574161062457336222652350734023612163246021725474431524300041320421406601211720437623331637541745154041207326316370424767124572063673705010516340476073122454501463021435307067752765525172734543066272713030401236574032660346052401710416762217112463631701162136157515572644213200162544351541566134545234457257235221771726213651113775100171153420511676421251372763470357141702460504400336560354402321644513016027324322745646212163565061360324401760706401752106743730007045727346270372623476677551656560576235250516736675156560564314452356151232266167206745122470776544240216243351107242117506353317265610741605451302310444760566761347430614057107477507704033220724045745260454350470310706406474055061660760543756562274330065537333756324562561421201615005140746611322567534162131247337047151766320466766614262365161526256674250136207437657255165310355237062571275141032073415666075600623604677105467215362011647347426726501635174145401053305545477676272263200347513304544442024207770720536200651722577246246356372421760673232176457051537104513770117215671175401306754453140774277662622033354676006074255056555535025451430712545417231371022754420453130010426333205656445735722027152070166743047631424602663525650275104402306620772642251251464467001660045674400214206320035176521343650426555047627345516347214772740722105254137223444477411502154504001441564025532554713422307351336720371465213110603313144472305467622542724173505703777743631544415470450002732207650702406342344044371507264256117177674736164051267300346654314735064664726623213343160641454120360105143317500213265102246264040623724103163653053263734013035262454500017112305034644303476657156644503255521205220033420544235413706036643341576040134571411764007521545505765643223152037635374403331604043453107752431667601213567130123425554754411272405663555613245223001437653361564534052715241504074167521221045372434064556625671675244326177304721123764466577316141136032771326451041500331323612354143433404440473420125342372235372013221643013615250017403633632733351671224336547356675117705040405445050554241152024065277526176362316655026555046246224166027321271770530146265632723774370440605071403035362431747336336025761147666307712451431774404642117300316215052367455655725566136725506644774362333111244662261372477447610360151160264753313736702554060437315050041411633040764615575300236023450406254774725574005511741016474506671252513473133023031754720361404464613606660142150521547171566005476745231511315012755332023406552231637060366733527533013420232257625620160733570527121701564775554030522045275741503406632355606534132506440207161131674015402042266320647500366440554634410006752661064746450423413600574477156417556226640107472517466532274050341414453732240654723343441673455576235130524275074540572441035246343232504534304730577763610175545064606352534351037167433066777746045166011132307456510571437544577303277246457331465346223775060712641331077121064441225121740235677050240245640471604072562013535536553530234525046040475362366000704300300431254024256472303606027305312362114021606512146563312426325564031610437335632032640353224602612563311231643247130540753260732572017107214706044273350060646164166735363535537244147447375172140031330360370310674043306075347076746004443007501477575203012075310220005222465315126210471461402037766310021465357773011216316041720274726576730022113660400765047237211274627554635206033201750737454742505445225711024575154244404773675224274421143233275711423121345467145277022647437737445767663105217636531505453252730705644441312340417746701667631442535117570615203135611225543326774773750326122737553154537722043130536224530433562302651440011706331421453550767125474332052061013414674150550053543775147502021740760203531145660015712215512410514623722661653434741217335453667254104142252230726646066036602517152515527247620516724012074333042676342660503107425534051207013544251570061350444173417143766302606004557552424523612031571122767210070423371244233754233220021232157543601021105470634631232164163247475125104334247644050114436770010634061140532675446310066563176064546107150637505666513144264702330405671207026552100555427404123577423023216642401664117553044406767123620755361002655541342077122411054410567127176520563304424706637746472504353321756125744044017423245330607477346576111440753314202537107705146401772466223203761215105635407034244661507517765421601463012036022143655223146711365452103072542460406552446173371203773736141310540342123166435775740436456153522555667675567467330520267061112261512431602531002163322733557076070322514012323213270773673105006014404050672450420525361307551322002562400703721465577666615601316746176536071115135307631347570275173205136117331753010433647033712672407054602064123720116616331726610152003235317373154231251116353675057001471430112166224472350431006036527342614371115070434016700451633535113335724725073543246176007123523740330376741265721712547717403374311175222543730534574564643101344761167331043030604106263244556477572017442137572142364673416362701252103726052300635642405244735106521761050104746543033170466065654114270504223002260555036431374566510062114371720104077614022320500476155155265451564630230354263615722113320053450765237050267706477472534656573413156305346136455171642051445101670314257626073367552551220321036310126014321015243337417147414374307675455537433062713771521373171225102120044217247016113105361477270250756535535616010527456235667140643430047460304007723704756245715312554062030274141737704142151204767473051546241204427773750520253544443475227106320420403243426372650705166332447120031627573417311351717301545306311161352201311464275311150257361700111010460576345021301505203402673436626623772551472152347265674432626540373621726212767716710402176513730466151243041327501174407715505611525161626720253163513511637341241173567444405263236446452771053201614547047553076047477560544631070507755312015573347701604500172513676232337125054755574632645416130276774017565703444165473314460363474703146737344723613426155075164420361350517777246223105201142441412351345017153073323743746460431710611304104622022324516447776351013075267727224671320153475221666605343323402516145373224222751230601005411072477343337404000714316665366607217441132062717107107733214146357516407605453032004540141656040120106612060247471321344145501202521361177436522342510215267452065201051675707575620471333643147114255763116526746742611376263076306673576071474305303314123214253237074314351273040637041000264756732126632655753265076053256077611567010553515756734500541313362064734635556232662337154141552353033110135745313342637611473747610425673650116546130554441524514032615611704655217714167066030130116211340214245636340027635526112716216356646535454775257252477573071547164747147473430063114317726114356731675052264757532101151600016556335735013421667244743272303254275342000071066471734706160746122403771762707700331606165522064166073131171600322115362463376727055151205637506252721330455516243273360413540710455606037614742033315514231704605523010044536425703222104632430746227411735547720574107721337173730255357240742324661530711465540353077453417721002121333710343377636422530451515027257712732572043602230765615356441463743424575326117354051443316724624234426277374660713045004711553156672776111375500334312564520466235551410435420101055122637575404730655342474154021154444570171177063461242745135061046570550117606413710141307024312471414640312466273144677533751034005427737466223055406124520464303451504153402730571773463370526547676747610313441476713666240062351733256217505443410475047752150570200412453211061342627712127723236746622474461614634441554704465477131415122003677352672317646157046024450032375170421724057204037212064621707071646533207452533242136237435162200706456670367731457144146642472044403263270605037351243626520144170210276363552323636565351121341577377342615442157053767523236706042255553522500100300462625521030203444171716265056271353477124274165244347760736755202244657026523570255114735500117551231712654726677607501571616065162127405600745421130515125562102367400421341050266403247626364736453425555016633343130102237035075312514644555230400121211065531645145110251562660271740513245476203556410302203322637324212122251041423353544166776313635330260052246521475542562611251363603062027126343642125742152270303665516146516203072077203277134276413770143552013533772474611461050303206663324537431263450537364526620666173477413540574160403220405227365372340654626630342544620224203213766477013677047476750334223110574405314170173741013147671655422005761735703645363110306554760452717423460076641400354121202011063725741166240302217234427040510456054645305276715526606317256430461377123523511720565621052360136502573777212427702770202774373231642631074063356026727170456577044442452264567525011302667600563701016254654520516576503172461642423276153075034554130323542407613657402506644237053710603374345745214436725251613460746742137476412157137251034172160720302046567553032413577413120746246012253511076147221457177473035536420030442156064470145717321312557012474375476310751130632774277147735475360144323340545364112140623664133270750123212115465702530506334473415601114503264405134143020525156115654111423750327614224514424671515713320657544622100634661224701620533601614400077673325404775324752110701516446712367461376721250465073042211142650173770236731367021213263631221253672502333004234444165677451300307167040442703035213102135077222164277746662205502422074612531360010377640504110001433022642104251523276410450734241603755237052724114114500700072000051631073145231035113603456513512667235163432664362303622154154243755705265644322551400447334600404436717526630544674662315611151033070715772217501001445070324362024712472344300170760607744250556146325070042520450045071345201014157465125771416354430326442636336473721747224505513432756433120326357643257301277566270544672042550676735576747051555414271733657467175346614715514640737547021612735654566000241661056035034444632440274423367110734066171524734635705437400002703421642635432647441625772501015561326070342067730755352110135256106345607257155212501161007617143551137734651275057265443152333106767346636115613666623424077250247223506142126306750410406672705775300162454246615465111501656022143114546306203624416615152373604223422355177606635400414072524752411054204422753660377170642057574577127751730755562402441262601562307110615702064462344312214650250474722223540457064447017706530460517032345672663672366657516230170031177456562752167361167752614743065502357162461276400361444501143666303301613221401543556127046232605721352255472430276106556377521747614774253563041015026463647737310116317367663371775340656234037044752171104661770362242627666761621131670250100032130006411551111253255605546067245446602263371233416755526341133274306002644563617055042400454531501620000265001542501177466640435145513724416274423471241404640444356027127431036235422375705027372707550570162707144334063672211743120576471416324301110307270447105021505725316560337063541111221633771460303015534445402173525657021571742143126277504336441371505136104515606112672552525764254544562541241554763237225117530003373273431314760211265054006635504243564105336225675146556107344332717462036675036737275761211610644070272065602272631550614066017574557256332116650055026203513043632303321243135712435141310071751616116410226721043000311064755215410715135070360115517322565215532411311726033041023530351717215600505741311214114723645505244653466452125631234775615637710073404561504276206641224107076151662130055634712770477543321333672277000254103326617603234235325611400630336405754536671716177165642564513166573373026245016750044204416231145226211527267205207041600333164041672665070066716514624157442766357655741535115164106721232575277172255615477472376635244756743765214343626012523700446053330564101312334204465733360162741466000617024007634121012571440054046143733271576075741214010524345713467210163247434420075277710240326253112147736353765333254111700722041304436334763430514322235331753721456153046375361277633656341114021203454201146745524500177764752453427751704231255666110370644434605175644756352704101260156031266261602621677312500275751016551353116417104660336562336330127263414505627547731717413175734054352620556240412044024675625466356476565252343171411222613423111133553404727136102745167150171744172702155060774151346633140443205013132122602305126535547116643765551674505561635553534675123244034404251741450751123414314171054704044665352654277173340407633761107400456512305662733126456277257461462364274102024573302145302151352733702057465364500205767177234242774654667106706745710072162327171574730500075360577333742057217320062734460734104715676032002705674363503404356572570530743044357517173443416110537524610661561622236630610717371323743731031766551160161545300012227146103601474320433005666162416404044147432177246426056242423001234060116541125366151446722632653734004417634653710435625163211657657545734276324333743146552437760506504451723125336767753106010763604300603515730075471761372651317210207337001406565457573005214311630246537167436570331373766532720603517202150120704242677554032674101575351504232626660200202645736067376235537371342521150352444252631673401417371076352436753016012273210443373537671375041130736070533232106326322006515772370317774347125044111235300455760260372531336564065720323603370324724136610236213056506772015777464652266303500637470330273724605160577641272203603467760300171355124540066336637621030777644542237351417446756413110543640063505601362654144610164544266055423037346127303254612346736256474176332472042002460343015305640142761516404464200746562647472371343510742070042404362107273613732622124261523374640423350204210367276455640176321424341641340057247747335137746440252722154235704026101457122361154000456550652640307236562044630227706704727444115172314147705340542116157437732041775600332606465672107713540533463724647423207526142647725652132357151646472120743462671141007322675073206750134355007205020356027447105471424303464007666004037436360155246700501424211455234576260561243674477663326101744225044376446250172033402006773572517441334070235676310272753401715004530756027457622606445234640415615706214734141663572310624702271776355342070133343617244451212336062350036642332272740157176034576244230342417470274404523045533425101414522541402473245746417125543276420046165450355446420033047267410220704511264665341410733015331316527112361105342241210027123715535447503304365520650507154763064317107153322375730370410530275061672002441616311302105707047577375536256033052056045056376023221121501711376443342452713174317311316415233323613702144231044701652553245632647711636474626341614015534706656515676576062544206257221213240353347745065330056225224550573451747642465230700346131241062155060023375364546142071561321452702465500023354067006115015703550754253263205504166564423071353364521423045177310634214116357715765336212532101701256027772264120673007121105201654502554452620754500053054705074534253005640174633062006374005045671253754016103322203134241033333727405515011370000655463323642105766205270751560330575102561003762105534164530334023025576755631765407432352051671201656762345341125727672072167640641710111526001163602565411242056612210237402530174434737004725513103735036055765305453071124656311071613040511122074127074016463346564267035245541051722670015350022055602347273452116450747515421404350652610400013317032047601340101663151720111141176546602140572524162040021464573407010554236101016372007616670472426313434121657773126216127646524174767406257415530017607011664176500327121072653340525663102023602152063554415274660642323330357613162315627654766652504062343173243346014015624064311021451231344654432011036212604575237533615175765344210303577713332246442321147356521122471027105352315276727512061465036174362552446465762150514766564771340017751404467474775703453547502651371503316047747476771643754615116434433434214247177611674416036650776613351640764742074572572422127715714110546677022476311407520232610635772753346034723014651223275243517533530722144152113775617006721250554067466353671620065763222334253266045022666553525424140654700653233560447221206524145003573147436347103753336724140647142552401166532353435612212152446221340722322067510451171346736454252536073455776543413417670727132454570222273046400765140707017226155504707224473530032744527015334010741077556750455446640552357512172344555271016231061537514324226530006302251266134642607550704464666665437205533037775753552466526461237416175714672570215744450400433765767207667654754153575761372451567264101122474117311073231170644527631461230605036237134322017004100347571661155770360347216336452310304372610125421226411104472635367377452324252266234373767002164127653237376060301223624570317360753367304026624755452264361220351443046042255375532155457566605165706131353747464405616151051067256431474514563663062747234375452554324402024317770606143353603317430156736106710143213736542736240722714206621024353346266233570642303572631610606436161724102255303215514362220414400345040304561165157064110242076462051062133404426252450712032226314760542101121441403661221573617725621436014366126344473477740453536672424530406364014602002112531276011355730153143055004312464611013711302625776575210707757002056765753733060172115503244457542511513705033722211050614525550221327237637005601474312124147331530075716417120301251626756017207637536503405633724572740765203430700573163432125445464607147350460210270007440432401756551415560141475015312334250616037720335142322007313556226314145174657733462702066362421307545031440174053506403216002410200671776251030160415137506207414532241702341570153426513142020643127155162442427167165456465327373007350716423466200266175677745663636232200146172060664554363020176413015227655113471611362267725123704437515502301467727060677530105642430735556456120356435766200663557716117423243153600151520313137065516702614302514516035057443256704125131144654057631101504756123077175236424062225436011321351547744622400420604610726120531671076136024422613335365313572253076653226126755420141152427151254361065270765627542240250010441512416511627220652605161612006407041006174124244057466635715107336601774272064114233510647356452011523533365670443356134067215563406125763441056444231430252264160652277265051323312266560402171237673465001067656707727570455153465536520052446725562377566330013766300117534023021212545776520476034010123725377547723460343350360357153110333671277445443204431476046006616665642630032717165766525166202331227126473332311222747311417610547451235265354515336737340240073005357702040021113055564535242076427027041536537257612464310133672533761154766565501346564015525065554026517365327107525072552560077246077074734434167435446203765111527333517620012154022617425436135043777202252710245415355331067720066025442070474616752313233236757111276150435130641530066644675357005071426046110531167213601741251632561250613712774603375237431645136305304713321536337276245067261607445613521427673374101426547117446015162007360302507006554435371512376275020762465415752306540612655416042112426441034404152515055005761255325076606402377462570404302137122126121216520423512555274517605427740452013541536202260412374330623624354575013413216305050222670257154634434637063174166711077306106731362226503736366633132044526023236345257211175756350615237544721242010646526250107677366062645073515347733023167766364142313071361064263653654311616775637033553341115207733521333325721725451206443723452213274562052047403147563032333454752756717721220664070726572257657264512465134260337062222726663026525336664447222565047153733663503053157034024540420311043310536534335250663731253153504573301320706661102427706050653633553756347473704430374224055633007327556447451205067665056340136747531403032034603655167246636077454320257366241546162514750671212516066735615776006445475355404061555660545361705233253126113451473307034441145760620113507706715635512163517460536107630300643156631205364655546121354613010242505260541204610227055765514227703760666531630207500406772462265251600224401030631351774734710701220203746564740771666206467773020324230752130265620202151415306436743555770502205512111730264214002757655467700603771734666757515557251433453404304212036603231104205476364406030104127127726225412361204357562074100641454613643664406043271100715342142314142321563645625535077340156550241275124615353356742660434251760710334257773103377727330511007100440025221432171060760635401773020077720724276670272430647562707010533641650156447404433530550560425435041356721540764361375744335525037202017510057464271013625772412226374427121577224352056733237750332403675617234670756142352762363404572170614115444154532402216634543305276701757050443053427571131066217747754164220062626146773312331207131465405525717647034106411010653651652627462417131101770605666601263561054037322141343251732123326773273546756114262441117003164421265054456035231746224041100017562230716632455647521146773211735320262603253435557367157625566645134745415535503445522726674740115562770053366716306520322033621622722750455657346461455275514053606757621447726737664463742573051315422362127560370064606757322401611031362742003241322062460731246171737251507215170036236653237520651164516727746722454602250512412223433673770701125427472216575332704105536344427666165051211403376505704100716607530066542113307235416006453447615235145014021725411414453357704247275751370312331116314655466261665034511441766165173416523003423000514655245671423374562577336344132104354323550254460361327572764306553731620054251754342001540077040765301607736644016117624717031350470674207644251545331371113211314050304240014576014513733552176232273357452001762426254300707065427703715277106747664043651665463413120247122701017407477515344764330712416011322260164501254676311103255017073465502206664526134217660727062547670251415631256377572275671744772730275600662230601170153117572742246306035654043255027460420353735306175407423265515371463671612343440124051253024215163446424323635772605017624476147525770335704066703325460630373067207101311024556722777065156131171047215152615502502612670030246720533320013377033121675330405672532024061436103170365475355776205076115766270555323707642256264150546727061053472076255770074345770127344160237743550242146436024661404401130505075006612535304204413105075056315526107132626447042744153265434005156576706562133342567301346122302450734170751532366335554075044072141634717503341401340357622674257550152475516135436334345745417513470474075160105066416237451202220106255065071672770713753174144732265041217067232542203543130046275444044716466053071246504416537206741600502513052336112603465032413173627421710447410774660754403351442712067730542141644245370613017151773522351151400406426462776141322355155567656740034275206774530265002546546106025670074422627005503531203355320037302710433011772344115523174016400464667622114407747416513505111213651531634325151702632033664115675523237735646222750505550210267643127437044163540631654764461250536413355766344674024566532531455443770477550415776716746277613005272160535645113540642151306142714024174267352517202661555401731367115357771571057651225114321666342132204276031452723334762323155426351440665164257021350360000160631155711435537764226740534365746166157556031342456507303000414207057532442376144516314213454454244662722163074571517276077353162301376722453366546457574660257363060523522460217723612465515377703326353614556361404503104555362511272752677621675156611720347604562171007577215031730057741271151350050562663127600612015762230757561523340125630440772721043237261651114115732425750461110722552663771600522071055217524312571357417041272673552025617455104650430412556247002354273260055445002307173207624032245533571376232260726117161621755575421677252166026612027722670563720712537701760620624222130432656205142104413300353575751553535116573127657452401247006066304513645113546546657047642272430035237146450624260016035574753431763612065630142206207650073140446340325531630015754567302376306713526041510510251047204251344554016066223332554466472025401540736077133076454122320204365117475602313537571730623574054711012376607661535746514014251017751330173705415344432525321423223663630114276071755454720744477167135271143031047751404152631332313724112227661745126630603476044221241223721676626500650677074221035243270371054011117635267552410171361744626110745217225345576743073230417711767566446274541376045575114615737744124473454145535661720775015403105701106644577341425301445226417536171715520226574514262161570421511006613235256413415175025573612546162625355216354235000060737011153454746125216133603041623444000147553047733226341505335031601155002362402545502231452146660013474324572233403273455572653270176610403536576550575430757425067721211205121236615253547575412066047774356376375632517656505426360747642352326067317670745327145062325646251057630735602210627624576122654764725062332630562543235174122474225027703342714347556422137474547057044212061211202557141542013027177632236076036334417562347412143404147755563741371401012763727412336677752665452313246735431471767600046337671452100023732706307570276414245004237667320475774053542602732414641114612747622770134201514165351552650333655013116555754020412656415673162622410331663272151443152403664541600201550040463352700605231351522524234350555572326175700144370440631565213301034712763210732651162244014020136247264201123115200267563235206655235621066364531577730346231671521134043251416227527473721714417135137521160013141367670174076761233150477710326711325735314660264470521614172702211520442517357166526634244547447604765303125311242540675304257727416223564406164475363341651217532743721156531037472135557021703160046364747755101125655260727631033264042737435662032556620116622677672627101160773673351434614632627057062541413253356216540557537315604037734617473175224411546337445063007455147343134601350445323156454366235750432743645127375111641757261001663662704565770457301123555744043260674112073764511172167403265733515735043243005275062355654344600145425356122270107250157557701662552234741402145007331574122316765203340353145770025446662760072713350611743616554471341300051670771463727607667160512663144332051527363425165475745125547022032760020207172335176167263045610010175605507121265110440411041442235276443473326471325630765233767062264221103407436265317726262722434020423353747715757534425535675252072341132267765065774360271451000444710772304147005207433313212340632141036413022753207302230123735620543620324425743514767457260277304706230244737127762612302023116632533306120413503771431637327046655426135633747605242164716033313435617704375530621213322210254253421162547007743261260176236004172450270325140301762016333012665160235215015054563372154073042233563634757346462555105401027701567201027166054421706064372527360247526374610565752554213345270073537354145163623035447450517316435356663766475113605632015045337467316030277357400717666275375407113112451531054636636116460710267322277521534052603536440345401425214505021723106352147205513030567531553370436316500647422041125132676273606337247716273712562201703141716016340411511201623464320031272023032653367277556702543707323352071402436534105211210707735241506610443174561637541476357740260354106550312325117467636417170200357167132754041423531146572755640020135276521155561412643346275675762561646024534353046225543277630641021702332130302371152346333072126772331456412333136502070377333735475006153672371352761764421604644660025131427126142450415624645176020670246724040304335767005320235447132563572241373015740311350731253070644276523061321330602172573021041555752462605545524033522770715143541123407541401075154633435340112327711022140370755377025320406626203253514111014624551707236404017701050361557051422315476061414363144202154260721647113413055676072135300002546663352773165571726132153703123422260160145475630334732357354667666255305540006133723412440242654432277121412670444752162261765307152022656664132634773751733425402162201757774316304452044742701573227464303343340222717146101305740751523627755177170507577277344727476541432272157151372765272073001605266165336712441527452773530410341010675432220563143316510063305244144164732006463406344421007431416352362317262716522603416316132423574603573776454104227244624510122453407522507400731043735121310104215375172322067454214611106624466203117171126123623337210152322164600731420140735650420537305147235115571255317624710730354512700317043447637237306732176716550606177640611247324306706104545211514012502525401023431143054143141421637463316300247316104230413526454101227373130777705106210213721670442554162426362516412167777433445430214347074147265760030064340376230747051267457047423233030776267312065462004243513132750601346524272235511306562422075721174335510747600714167622311316630354751263737555205650362667354625634146641730211140275017340272203020236512102574166254471234331451176123401521700273767272220336162000605665235531313642500324225027560766634050712105571460161655012247302117531562304254656615646402014474323553754331123104424007332011376216325055275446611131735611677373513264601011754234512165417117673115555037033003461472564153213473545035137300745720337172343656325431714576325446423154401220133617751640201446663511747255275456361531357121764235030021462035245140404140736321571404320446577466130222506701351561735413540127135036775725522733472164640327240262604144665415470714615571114355451403231713267760402124426300547103547655537626013035670257502757602727454670343430545222741525222567206601613066774345504436040231503157144565427555762462434753602132560645277157036736406061126260605052133272171002002164711567103520041262604347566511121265377376375464651273636761557030306453506432121403256417052556140074204112766554503645261036513314211377301132630324514244400741371030707453067241750774151673235313251067366041775672173536445762540646054205521651113704622163237366603613412325314555112635777272733451230553153336531064476430175322551406761105736366762264602256727266533571662121157044006320612236477526545271411165064732532060763467643246160567250167126436360451307145306763427402762403216405720037161127721220025414731473536362744462255201632461535202055244674447021401721175017075762675752642052026174514644636165154676656762720045403720403541404136216663335015752317037020173723140430511667750070210360552063336345114075524301661477404571776117272767733460250173046576366702615643575335507514552352404311244746302505635472003261261330275050673526077205365020002725640364036764016022630564633417462107644243035505003555565526455041253732364440775060373706514515275305005363025470565662407123413615117236261165740720501765344556603520334762016150152715604252530721474144167201405727103202533617027074276367545041123625721001723274146547726521333407142671503001423611205677635567107455437150302272325103725416011406334133234624016403140211412077156262175152057327174660457222434137262727311450365235346215421710773315362455753217163675253107310517331660136240716655315654431310322274501154667374614472654370675220770715777400422251754012254127334371305544326041472004272535453423566733164537020036604232043672722460632672520425366223756615557050401532376343043575564363612723367213402667056400144466751365667414725232077736000575357337771623664567356531262405735534216570760112603524257317315374377427777530633423152633613320761505321324442613061624456066360667117116560110352450556265131775542214775755604301244635154414466310733133623434310026701373771553436256067654325426156377034074740156535107146253437565275537553432152773717101453250031706115636245564606205420270142655351321624105623276246100562502372401046435154427565134404211004143531111716430220501443012144714311314574201143670724210515047776570473507613615554625576415662043334217447031254214610351601777764361670564611624541570650025373711072247436167440234112127337212507346150742503112725373073740703161133200214532413502451563126223344042144607310720444661657402536542661347167246344135735744424350012377065516544711453331370507667163315146346760655704713126020756661666113000744611775717425254125733516755664120476003034567501015003240130234111065765572464771066343334710367455466156326714536535414266661175503455543700345235475303626150424460426044501306637037633001505064127042073040124714163451366103065472405776071555373160446362370722671771161107243546624750272126511425636407345106001270140714016521063573713645460540202337306302040462030012174506617603554127033354470036066564640444070673230436537377627237745731133332522510751147442551544766462032621704111246173222416347764555060703513565775515231370677776453771165373001444575613151320255706415661432571754575556107643241633606611666010353642024341135037064343156217460426730163275005431706256373336342435543353671350252305076203461173332670620031476363711215551767021250503671030167163246401356205572031353207355310747324425125250056515155065172571114062602653301237762022421632314076732453517744611356561057352206650413145107342156224301467604413604202410072730734557436427450766424631134717447701015102506227304537513646761323560626362272563210325613172337430130707305736644273563776333454112711734313213436077311302265052711225732330247623573661236130302710775350172332717314260551352554521445527250632614010710600337421755071356406744572657343407130467237510614324035401162272220426403776517362244700762616612250731774636205750115204430307003050565055323045022023646553704137556755706633152646731242442752743570776223057570424453437444305314657101564046100510171213313057344272625012403026510711401426004612554104160052716160647725260375547522235057372326216755450222077064171447774703657740617273725031577517547160222431007410172717735256150321442737062541615677412400336576246523327140206120052222517330374267572355606214061635316266612230120271507123546012072400620506173317672761516773144151255377000054125521640130356632510447336034555614753010554106124357372477107632446470764670402325376410133705132123305703354476205066206237242461715350641140230301723010217516124675106575727557654410651446105405052526163031732664721663333221121754243207364153043137030157024367113474017132144623175562753723227264766353245211143304560051130415351070611121214413262557615756530171534133261716317033514357554452124516403022175740620073341775505326350464223245506402501471466056417367655022367152367132124220367501452055376750043002616564014514443344344150337427066243031014235377412075002220167502702277464215474217354310407627764350416061361756105025035234163556101303021561707335201254734471070666604634734302032260160233630045133077071152377726643147360771416275623750447065705757557141627002545647506565663772617477305173252047131544264624520217755700614520335610653062730500501150216406256220163145125600075345355530263252204040123347734060756374761310237411430072024532302736742203771745051501023752716330636545203041605036232020045224274761302767137274356564401117624417371012131356624644476776764550207442006611202032165273136125556524630421771702033406125604123707726422735562021200432013573234207435222627346246267745310026036300016143253557332612375510076476025232205057450276260762036254257204736606723505344027710001454526446361374601436236420254753075000572426760761440076377032113255177446204600673634000555166602131701544105723335160577461350772064517154737055156447511663602147242362514726144206505417006225427567765476163712350577164071305755456774145064541426032161334167437565756067342420720224667256471262014575662136756736042405510577006271656170572177502540142213200145576524267116610357647371503266073117775505134524576342605067554636640344354241557313026317140352175167307101600227570010776224745450427340321175221460254541662741247164540250527226103130545427274161464433173742264413422744137216113742753676107641543351431656361457740447757601606077112544375371656731512615006475072560415400462247370156653556005546537027621767744021025301572217436610406336424121770313755234107641500664745552614575710710346714217170461026334654366430006112167437222160702555532726207466137604566226424177103007615006556636165701436415755263551221653371715265171765422550145703251162405677547051536111545677623542441736674355332454452171734223712232305243326073352166572737643260311211541362356051274535343114063456303343122266010236035735236413470427765570706332367350343541002011206507623527507553506007662673271370332005562165524323016302332305712622260720367156633554370525122550624540330605414646170717711214344505310405007465156746502672722576122140153452237506652655135021530140565452634376147232573467113477662012055147167431072271524365451377662117443747313710361134116522462751357045055663432122055271663553002334616717306100310052206725227370372507640026457274423743273352770515365115524674115377523514353415216523750577014623467746017753550432520117707362266763216573622220241751313732037774511462260567350046752434131076235013365073760067351217055236217663651004110630051741626127530432770504066152173250240427427040574570337331247773060765051732567504726736601765237015614203754251323360213607510052351523433254506333430723575333267417243417705462145056443612551173530264437712137667510766142421527305534141311671756134524735777722303627540772177370463130277333173005144767175025257067577671455021743735116607373706027740704435425646321617270500023246707240545257014041746501711237700743730457005376243273424522175250463367660767127461115712414474566262236100723066310640514044525357466163022562147717710657456333671532632154515627733606724755012601220713010052156736361000322226545566273142105273265433643352126312404241327471453607016065125545450067135314045054032177700131755441414010361521141364532031362307540141404030560114713305615621616716543000730415707604534004722130574054167415025025667240310317335144403665406331741276624734610024122147614263714532662412561301221234267157127320010703744272535117441446120430677450062666216522447553664445121251657174514374522621075542672745257153761023141606143360122204257174543165125773045226121610726727125546672174266267441335533032144205516525207421510005161721700434243225515036666423545774053174343702647111354342655421237624155243712217734173401104135511544575126101327026155112433706633471201316256645237746366532447214564741134355454444451602751223600010121125445245472601707010314425036710155535775620050042740440514117121010072025531042457373265417302333422633034555240631472634753606603216267703757376141030473110036076142706205526336356024737251672645733355424612042001526256526446616020043767057240522602007476372660655036302074122042357644654111526456072676131563547566512011227111501044753050347232120141455750707133533442505631415315060463464142616011525116255767656300034747162120762301637104207344337162720205164206574264316744673656122146446621034566361024630734745607070257366512362711316066675715776153576355073053103457336567405467533467221755646525534327626646314075167373271571760472671020700250671607716047246155421400175521204425655235746057714767767325232407732110237123163513756325454733720332364650005012734340103767504050120223477027311362555501165331320353620266733534715251136672242600603750771416327257142231237410305703276372530644107702740601205361750620255024174052761634375023061627251551454743142135476736437741575625770105131711077171413712326216534707600276213166267742321106646317153014500221464367446065672341153631577017521345762707765736774430006533637075713201346741715226570366171037121645323167674563243113065565643043051505452242023742134305661446776447010400150460606626777147027474455116063677005723712640513321430732066440253260355601311366371440243474401237350565634211105507276105610046774461100307301662563120777131276323203451304364716365315307613501562504357253233154517500633371354107263403012605657466651607732272131140154665775674754734247275230433407207655664722212052321026523404522647244111677173125643132516073452434050641166576537735571325705330642674524753070727745743573747017256557501444610313342204770016427457316621334542105527731261222050435562107217442711061747250061573505556631636526457074526402453532262326445075767032600421453773440504340241035513121451205277525544251066001046237720046377301217663672725150005275407617737260252001140261476162136076103123336220432401551562755631407547744704450564637624303050045253046766232643245422226332664142331700735141532612452115312204202176577423752100367577673323511055212567405643643571205202500725456337220425220073114045051372145057711253451117645302052243341253425125077402547403414215617041611546760053331242221300677727117664701651607213560002766524336551712112233440277447651567435414704126322622604103332407135613234571237444554412103753431647547335233042720770172530625072534720324014762012601630553206352354322271206202406553442470741550721271640422017371645143301547713067742076365343745115612031326006413674065451710126345174724511707567325645573615757125313513750072512253404745766001465035756367203267247272705275661325112415300751640175527721171206766475726016234660656115013721722706353536664436503114615614603463017044333402347344232066645360206044623227555247662606152502733010106134712601154272567734545246537340402047464553421312140223663040046057166323432073456460520516330704010603621122173312740221272222250270251532745560261526722415067527541763141063626221514124104300272674457434245026500502455325453216476203466664244463645252204455542665053543120220461363523103617655175676333562335205216212534460232523121355022372274344473365640347534520621120106141420355636016657510623742241105541532753440453506177204141231763627614760513042544607401516276502046571147065314134432725307444210710007745551412111757471110475152070352622523247321531422343615573150074677321340344310611327061301475207340636374563104632752054511147272114723736565352475172754736643510051316640360074445230636741375744025466452530776655773634632130014214334372676760145054174030446745440023676256634127236450676767131712345604161110035366751327330236456717764100511440374760030214444101311102531621521756356727604762633356751406055747637357243240246651726072756101067417374571514720560455747562433374312167166317166271060550651213402177105136572413254712122104164475616530074336216500023362000242235333743375577652671627033474074611770023677400274256404436425634541064343735220570537105541755621235135075651613572104271174056072010156211253602767701337501456433720650025726646015643271002656127504222600136225760410702614434107166124066061755027034717311557115225766704615162352404370103535563521641033233446700140117056677464647144022326232743231451751250300543617345733734520530524641465703233370034750444772461073517602267172162530227262244022421144107316465573303763055672453515507612630146657573377701066634304625510541273144022730212276464762521611102043100651044553214151711211361551264244414177311064037522044306345276267620670664264135510502145471512411317520744100671540244200455460165023532311666067241076037454744102265770733632064167762572267465474232547030202531342713037606604522601274533055304240144265514766535325726661620420034373251641426705012224357351206155640447053532731762005350357374304741237445167322342611707745521540712613153717670251731715522100356542410132036326233306314511446470453615331570047053021705263761663775314512550431662015065002206157227356116261136515476072241024056345120230677516530116167771177403574052370740204557707300654303632135434416740556531152232033322732317536356577715007715320221127006626422101527770065646516374343451640360312403344140457560530451461723276543264373701741401312154056234325707732266477055372514406333362513703421451366744455247216700474243465140436531710632506001026410430154024236410774466634773037123301024166546347610517562513641475676120212347011741662451312031460430726161577257532523656713061545656260610024753700655407141250036210357444362251474636023442743372333655104264003453107233033542713124711365364724437636544275222277722003623270412235750425227657471607363036051412110006753407310046435112260340566506457135144243473521427406510037416150037242157076600161136567145607654471755773235353413744725212356755723353413506311247343224645543564157122451617753105004345067222165042372147266365534217034131226046211117413557427170614301362171772176100664416501137125411307211606216150151701321435417413077353445706601532766677346513453430424034320123017154226453572703442625166761163237546411557554305447523432545355705202744170775365323526207324761453625723020641670335541734014474115762131564327440235167170556552034723703130021266133131775745645464007172266113111040504177616412744015236453765145147347650437415664643751361232762112277602364335623730026157311263017705775454440667315740141705321353332720531230616253130364627620457310411262600210546664135351136736440563241603557061174630514055472535205722110046154417655045225231511560035401135710004304146400723752427075210553321174567132347164317657016442125302764471111770232043312100031033500532653316270446167226756407631524262214066263111646131574453056503672136077777074633110331611200056644175216050147047101107632165505342363775716743501225566007155306316721515516554464267063415031302407402123066372004265522045145501014476502063475261265476700260725451312000362246120715106071755363355112065332424124400670413104730276140755067033741002713630237500172433132137535064463240774727710066634101071262177250635574024273562602470533317310225650135473334265124460030775267433512701256325032101703572424421127650701513354535635725106543766116422477511553766343022740657626551221032006626474247303070670111011670402527047644727640264435060274325200370074674656667235624506753167355722376121010131121213305023240501525772543747446355320553321145144503540566425637612603145534656477707611014121630060727450637166746740537423175546176251230637710115042366006344321247571335336533542756532155117707446662225115445427651771174207403223405517266276756053301410766321201030234661017514333726004740471210145317716533700132237020351712155625252271662660460637316407430111514274155403043212433163633540131757124632226320257326640470153244634761407556672572660270404645374534403416673612562436033517733300612441125737032070154647334152702652151004163422635700330041045546415172007551013314710200157255421517151210470274013711763350373344555002171652371552645701207030311276645015316467071035671333744722612505721713013651020725147064652112706116613777474203733121514147252707220763570661557777141123540222646171352213630773113766065765151366631527144477721416255026621762421511024522437004735761205005135011634101653440272732753272604712521141011727447540016106006010625300505351646074140566126247442300434152243153466250546533500634210766734640655007264514054253466224635065162613017265416653640362164316141105667201415143503556727472732765103171167723643000626607407606215701066141727161757140111060172031773724060241726204400124451526322544211631430040777546200431527377660224346341036405716553756600442275410017521164764225714573314724140664037216771317052131124536220513723305110117675724505710423064665736230462427131563125760455170776771137575462124374752632131265256616135111026247010377156035574631052722373614324062734224533066557717677206542456773263312776441062612744512610673446055231000236146630431273217562531706641241420270315703213201273077723172040437017404072623135400336244332250212314476455435270717024366731275565302103045244616555141540754052363252332565174412356500241706661055747055412062170532701224160273105233601427211103670363077546054140113373250512474240633622457564201610467625104677304664400424643373074020422131614714624643503465171722522106705175101202310757600214701423012655731146201553463741513142163214772135552263105516046610135624160553242013330570102473770460464355050035502373261110157562474417327420055333027041762450221310213562563752413466110516154777151652107266437342537101100370465126614171767153742231017266304052762176123150037651544464077424322134730160705115432172377530434031460240740443075324463156227531242061653051410153251143667624077676743026213007042463550737737010751343272453335575733571566612405561422245432250634052620043466456673361741606452300246464265617675662120140310101215651210412527426173226440053450016076431533775554334026357143752741622322726174627173605723664122742366637260210675160676255650161314041502476402354346636554203240064726367663304625222347275721360031630602243544511647210620140752567054307622321610700356011234672722266736516521673065143740162472477006607757025536436253176370067706223724453076612713713515062027117423566621060614102145465113351773640371042773643047515670347456025242076541246014735050125116722152437421202117153060663611541535302305612104460045413320750627713552201442307636402101774300446412011743323325531233514604607305474336442266401271217524761205576151771652715353670263346127142751323635041231122035606305374541667573253224406420746202540306420325066770363170307706175731332770661456277632427663624522042401104365160342262127431765605217352732734340212571344735563015070601171406100176476117345136326253301440605703036776103043224117571661233145024110577677212405273111071724562146410410065070547655216123546651162400634573670366227236366033126146223427244026231505726223205367436002220211413747120426032124070055670754554477653231643247165535710654553007674436544257576356210043752276611543225061026572023710176332134232523434556405263472272234767025023673571110125464751151257621264034313161173261741171773413114621612177326240333667176034112003652275744646762521317333714655130342605757700373536071103531666311407471716063156767116474270543321723510407427212377765144462124023051030247227120363261666477077151410636214226102114440446512351177747220261725576564515626403271724435554127066470052343127664504457224614020130221651767066770100016306355527554164371022641456362162176664303147372350174131260640113003035341002402154241405171626427103132024052427423770752447052204325571241524021235736173734411626675063162305337462352557157054227745461746155673741631706126066302464305264761706307225661014761020005517356642554655337265521741265341774233560213272337356712013026267441516714733344655446763303033247260662202737126267054774231677174210535675202353142613311032512300654334236115324376303561540602602344227004305134747000574732542256344347355152731317725365251773661633163517163171670601462306376542307356635721245517372642023234000353346736720270435565117065646065305727040001621551636716143417142450077637456176006634143532441503541662623634006442327451467756561323224134772145256426611332345065667410273016211334140774317040666332304636114132460201112750536064442114650617144570236733176413702176426763676605327365017046515432616231533007261771270376420042426676207067774750452611232320565376256653641074044617534327351031477070513726542367301231066356514504710545767715416261120116233263355657742227732006706253512411544733230210730402021322454773730116615327051703300423311113603623761471425057122721421153613202374150276203026160506251630315006251545663115772677220700130576771544461330142512411506071232103270056613637671467612553175757174206271031756275545001447236665344372131070211721177243213604010251264221427054576242576464757154451711434314711033316111531762630322440075767255646375143361140511200647723610436501364100764241514436161635152664171252665042744770723444016151355607576631363103155051641110065465614120767225074552403103604205747473246474753527222427033767767054331043361277572464756141045333272452002006011454532420604071103636345521345627271762505703525107177416757324045115360552473605322316732002373224636255316555774172033634341523442570134017130422612322533442047570010427021205550065174547516751270533320354667062602044760721726252315113324610002424221532635123122205233455405637012265131744073350206044066454766504242445221030467273103557746274726605401245152431733053454225227474061440562547075042537043245606075532343152344061641764065762705750277603073240272677651714231421206064155466512770625471212767512554415543671770273013703410064410124567527647015314554607053114404504064277551760275761171757206704462213710126303603677020263175635330440137436736075127462206153317411256370471401755030007302424040221476537023545006044364710561012211341315126125756332554146365350611427762472472236413534421247402752053677764250576057604057707664635054621701467340556563611353761111051245513572520226055574013476020345315312412353752063651435050465743261720713302606473050174275370052155104761276214067707137124310756525234271417157042771750243362765220703643416406041153573260650273770262417145140245272221743164431363771660732750400611043341511603136366426253360251707731746217222614657705763176731727403106467013127502243014475502665617202464242331536052612146711670334022312065510122703060412523342335302230477206574304512310515632336266415373114442014715424516034412674034310001775666530117726517242216032351156247571427756425211521661044223055203677604756627560424265474624425275652046660104711103535771226006163561011056060724262042721764443505777155444132050441714252627400207775012102200030660455042105232465750211216705034077324761256502302312016001640001234621663124620722274071352272255564723470655507446074443303305077336125535106453230011166714010110756372554613115715446334223220661616337644372020031121606507440516251647106003617414177105213343146521601052411201121627124020303371522537630347310606551054746751676437164512132270657350662406547375065366025773545613115641053215756733757161233330305636675371563727154316332315016773160434256735313540005035421340720711114651005710467562216701543632516714736130770000056070435054730655171034537652020333426541607041576617327242202725342147134165363324252023420174363073222776715225721365531063246662157567154742334275554470501765205164472143042546157210210155656137726003451305154331522232035340443062313146144074510354323247674104470447323774154730010301652517250221304110457275407763615041373713762577236617333450051025454033446162214336041511447106244315205211716444473011361511160376152611412360647135655475647555372344603600623771353457243567423577254317061532047363451425750007431112023075546066034264430033073342561144654136427245331650605742153347772437174317705273461020320551475176766202346367575467637727015344700761117243622115437607445054575557434422635605202000642600150233222225265334133141565131154045467624670357332547022665706140055113474361321050011312632034400005520033052023771555010723132276510345710471625030115011107340562570620744730447736120567656173213603456163106701475644237062413751630346506022206165611162120432136526353406761473022224434677631406060332711130043672535360433637043062545772106751027632122742112334142255653252537505313113453025033317464764522372600067665670626317404225521300154732105073502126744535723153342167106656371440755720756765737424234215101605641534045654633214301540373713365346642355201320544072261074646066425062736250723026201637234342350204556421060006221517324330216322721607402332366453524332650226236540661020472607236364334012137026224302316475132125115271551242534624717734334776201670113432105744155024502161743235442601334716257611773066426675645760005302066554374064704726534230014606750137312755636343763535053512263553667660545120357201104110344623124544232565564124161034006663501035655521601556352314503371057547375337032722323502156424653725763645334331771647754725117357077524307074540252476011141266613502026246704111536667403457031540014360500174702420253631001301143076665633741737024300212507136271564203465170710401725776205006545262243176747277526665302236016441026110746717470612306444726637276431343261147727425774675347022300424071304023157132512003777517251270577236104625335542207615110714123735117347256102025403340625545434054435766252005737220353227262350362115406753446746602565470312134573176636370263736701307254413345010241100515734531547351753525247063630224454270462222673270116562742057123563203637103656043321417703227154663011064120262642454046122552733162355077533235712133434733272715722465100710105237031217222470306303621316101115527255305763667010174677422170011352246135456662551345765371431447505702040513666043126043227256676041371527512004137563764705057715315562156157136201643446563633716612001727413766677041364366401456711416702116335740640056135707472070107353653612617061107372363671070342212772514215433434444754614216367626477076620637553223403433126000244563142074031706410660135543450350101103170643765150541345050460024701402353022527543231156454655276700110374715276210734523464235375373136705746506677063153250777412152111236462526757577262140217474106014072336601731637427655226364204166760030153531373660124306234605152763570753606627677552656414072364043202416105055773300655702033727232104654555404004055136741567744732767627052423207251105254635670030367621747250757260340245664211067672775627721022616741612664642146546440152337647606377707162521102224726011337405407652626753501536406474067606516502754204744261352157640337771515245546072014771606605676514123413775025644074071577406003627322513001546754774420617775113044767230371157350262213075001472134027455303114203513105541330460767142566065314247156745351703746651641040051407060326135003057432350111504017153455171647627072217041601050107442165674276654442505432467715010467204104207565751335003746430507035027001365177166722777151005256443304736100542031362447423300011353215255006164753441114604576156116571102323646303176127013042343370776641037734006654151535642176273012671476515170464172543055176535242647363235151642417071455623020166455721664157202707320164120407340571162131630506071500175540100770747403325156012030504231324713745413425075711775466542037104521107751145203640670040157673652371026701604735746205657270036320112617340571374454151124715010334336144316703035473646214516045637747327041602667074365111224246741447200755046645657003363740713745104607050371605710112461132670522030312453030051665137150362533065750401143531207331150400661165570204416112225515527030216660326626352562247422127045024200562476332731172066107532415212163317461506362163266447736607610212605721435640051034346226042136161173767732745340661241341121347740464422432036227751067051256263706366226350324666474276043104621116035253265134655176234751714547034300332716155352335753741453104145364424265007267177121526601344524513213671237175051524616007142625021443321400467727513143041633426431256051532000467301560142320336073217305265464132103553510461627267512430461123766214704302347376337526744252642036025340577645502415660162422124035312053311254417312001261316121712705260135003714661440147700121135625277300342066444062705020666676570132320227600015331466475042137544125617233406613722053420077442132703512606700460533757334637530170647241235624035357447127022536575641643575015036202232540023474053530225041354244204770052603710716760116532262076720741337526131261622515346221634261012222441702561700351467153505560725133021236455600327200441334047165671242351217172330430107215254210000266360641174027002035463236402223023753154043013652503441000431513670160213304742020347640174355611650546270702435377662544342575152503717570145370332600374160235503752006562421655267012535462040474043241473310325715415046466607374263446334575317555252101447063665067140300334501506220431224627115310640220744254113724772674323737527104206073776266645151046423167352422451620562127246325756572241431520743707453251151537443212317553517627000377230111571717736071273172055227632066341177171757635077314322350710670704305163774235710340755217754267235017517041713653650442576336302213155760451746230172404654214737657267140716460315224465725072372672616443103242277734360156425213301571547275634401537464446705265541120455553272530503015316015264673411164424152503120073663170747162077266756503015163053250023552647270734244243251144427016446441572211223627156751305252741671337753070270375616562651313604445661150017523016160364543332116164511672600657112560326700217021773357211331155013247372243647113325620344621432772306504552600146045225542715054173216111515555530764132660777737273251552551424770343736315653604337111210010677537564175575317303273737427651233565502022451702366221664623615112574631424614120744762706440360102007173635423337607407164346751246206107654202530424550222111654727567771246505245544707677560043502575264767741406024474513606367417267566100554517331245507424407231061141045327732643331373554123536142627277171510134343221221565350631712313475461457164707731253306510040506377614143067274066370603356742156203064276753056745016456304154420507267145544673615046073654634214150743436502045326064332307444410310007121006113423523361502205041751441221442670110545251216240644546317413042022431030075424433674376534430740307542547111671777011272755650512610147500314040042252625740227336603263061320106251514220276226054537753724216177360041357537276661403642332065111373052232276120676444221214312533204426564774760134031706242503166632601736350362406025234557340364174772752070134676513657017524070616013663470642531131514163167211404205600171010650037353230333403031720326246705214340776406723046440166273344546303123715376671456041547450426173120631003701272150064340050204015637745220603410322772144170312645036047033603270552263040415062563323451050563563531351526567660167216350471544005543735777135474744644003143641415513307460403750260324575322271634227445576522476110772332046031576561415772602135050616733351342407350737544015473376342370465063274003232406262761532356054306052312340721371065356102522623115301374622032117342461763724750501444530740226427233177114450010414114216542412635621742740510454266727526273645261755264542557330403023250563225307421525617534573045005200211032250352234564415254123434240150161020143702505101371554736322166754037705641502304672215167351240232472667535611067342701564333470142537471021351104630605245503415245765521226466245553410043624775671520021575356176573611323271532752401251156533447773546600277546002372700460424253137752411740700202476527773176471407067207407363262206675625771131064110631741140154355535054600656363537552523544046624562551666646224457166230374213171224725527312326756767005001660127376041000422261333512725041750560561032752765374251506202675652677423317553532027153500332521533300552367526562172521653253401765141761716710703570731144077522232566672374400243300454370530742721077764045256205130327326621576401540531041611714357246264664757362225743210722615032601555115727360121630541142212623564274037025234653425214276257714067724770635122746126116266432746765745121565434171134272430575667702030553162371140323440167406052160153310727632247745720417451530337246153014255330341042250551020710103252321320137425326521754150047771453610106042762442542424352410472253325712374130577011240273032744045410247706614474507313720270264346121204455605363314710714761463703556221766142156627444552076747554662641112540464747125364223737347214324773116425040215152545202175767541455121672327176660463577547503046261627421505475275306234357734760673267022324176672426666536436531224151076471244265713441241170063173460646671317257356376424415501616553645375365512251522705406761444456555460552526755511164453521163276675472061263360700513010406221066212752706725215476625263272113666026416155422050576141215274673277347171676110607704501334660166573351171224121575521347002757172630060640714075323565154741771306405367545033143452317215624252341556734337740151131727330101433335413127436124665262542271231666160711023137414402272176156334732243472371412742174606015063354624127515333142427314260205052125413024114204561337532304576077415552634604172010157651445525234004510020614627237716716216024404077153517017635544151577660406504617242605534404043230326150757073337612044132242236605504300057375331576014077636715557372333365230671270106104240754064622104131747510140602102562576544530247424107373441702015031314275075510141065622016327043046303046433475134532721767003353205025722514327267357055410705237416206705377662067776566612220162011000524430643621417414730037660401776416505755605650615173456160212675035203351170110672613213410530721027356433017507427737106732520764040372201371505620274537650244547710562433764507241356664777206650075734364715617343047257447470113643614302331103312650044354713066125756037361211061270573622621544377177303504401454543157666246624162631530132536375160702150220215275235254571450362622037614135554025473421300766443027065236642466557665673157342305451022360063510425521311340724637144501022000373444616354651335172423157664236726405454065270733367563374533555122717130332732071132456555717002333457601267556346152406440674434456457211335367151431325732301274157374431176556775511477053661226330447442573407601514157366450034220627457040065026441451416625143636765232164323600744755264772415223512356577156451314045212250244470675677616022530571644353726656102132747110575543521224230067752136102016354172601553042266164730340151271174324723120300436530230311267376105165737227606246622346315331545435520712231037543523670352460070460012315325135630467713453766747102642107306473205311407426573657506153276634401305237307040033001761017526034176755100342374516360627211615704175105233126627622264226301206105000313740312276673243744645667371240037450545306016161530576076325762157175501075235531470262405162456020370171772327117506616250340226445403512025315746222065320361671532044155512542704375416561453175605230334625347773645735637117656605734015444614023603262373657045146140735301065320571410407276726143730170465532327631475634247071002501225260504323471150506474737654120374511743172537606736101556066531414607661564162026220513356457761523342623621164323254332052054255600605156412666400267760662435726610135652640501430742063607531727337744121742337545613326476175045345503213156561421271641745337601707137602567103404777073205043150740515430110022612121720154252726104110262121721346332542162654551161057103265530700123353756153442667053566027142446051216703617232647546733301721101643034716372067030027007374455705373203251732342730746707137130372271611701723402121550344771224044402145321521635657616277263703116645521024361564653044073062601145731101116351541261625152110352764157034012052261246742254071520650263674570436211170217715417310067231056241576613043035105127614260363237672447223230010150551457743026447323333575357000705724157712605520053153142140535601710454560132072624067326400766056210660237647102332463700350011515574442310177170352272122224275232634706523236054640675502335732464776735144457212133204205575062570761103473014635317511425212750267337547115700513552652631331077611773210337756357145774260125643412735122273015043226143056300503705567252364055433330036627562327377633621375224522306435547042644105740631256466717446463330547231015523505360427207400003414623336230732777504557012707537143543373340627051352166060010304161372651047743112346304271311305115456443461713632365741767263446027756451267553151373715405367461412472451404376474251532327776066547274313347430112062113327452225657255774435723354236407174113443620173764320636601377025623227201213455462574014240337444617373432467002534611017656421064765435222302336650537211422216453255477634012441621324372506253627370361025655673240534371322115210610253345160047305665401331120046163664174500645132673627744645416542363434437333730435765243540554240576455613476416252776037414414504442610655344123042110266007273737233272722353662575371250025160141546112275122273153155361175045650600724763151214505400340733717270637474241534603044144175201663011147006532634600337313566047746156272541032212205221164105227113300341544466653311551640530033016741762661751302446404107522371734046272773636614473701316220247754175432737152300305220377226603676130327110652526430464475474602305741637331316417111763562725623060621177230103254626646276502244575437122554614071741104425024476435754552015215761704420725065607621300222374725573250203627437114542217124364527133757061664610376237573551145713027741133722314336777102511671303132735436417720330062136022155113767030526031124550372743636332404553712305443433610432220154264725350270323720533674253143454527324347304720001416760223271317142524342674061034471100003173261176664547032126720634023320047450053132044631243155400271706513644670065671333655265603754210072753753213730617370521576424224122424754325273173730241541177707347747734652375352130547417175047246541566375617126563121446535145221374616734044214574513742455317516521446654613453064723702451704520576067056307173350442771713161361104241424224053363033040260563774644741740746710373447170243070103177333477027630020257476570246755777255531246265156730631637574001146775631242000476656146173605750305120104775566411737701273054056650315022314257174457602704032303527233255206675320262353337300410255350335663454450206635465643231063250075513034004033201011467256014124627232452504707213333646543736003107611014633524266020716257464216655223445100300402745165504022462324005573464724155324734421547512633776607144635632422701065230344572571676436310362722772423400263027575603701757424663211776206556226536726315405511612434303656044232411052367363552554705113171174117526062526225053015726105376570344473510143511727467035224372657076423352620771642733360436063401147517177322022535325416574620665501056770735440653354402354455775654562023417675667230714314654561361453030265267344353013372766334100776714371663724510233146771121460171323167062714027211126463351307544737210657075122567722235037365420035475456113537611366022473337101065415702241677512223643570065536672336721065060125721447335307114003130527342445602165203373376035453244717030043120166633702446357524067007263137600531155457401656267214237074353311627026001235617631476574175563412255463106641232567470523531737122533160440657400404163646723743565461134200203734132162425522211010221031044725751071666551626534617524677561445504422070170745526376545456450700410467277176337372710532735725241647022645577521537707405631220011116217646103160124170666264247014643020750260457264166044602476734413074406510537072317571365405766116144605116762577454246040462354652666142410272077630634766561155330542734677174125043516340666270734376107732614424266444205305270423453160177065425403744740103651205606523006037440346660255523404724320321313467643301661044673474717367151453322130020576033564020563541310436141507652567405172547714213537253304267125601672767303123474460731171212366350727355477551722274134640321126771566340605767370016375545727730162262251232621314754742351416205566445772432701254072751007130030524312120436462147243164132260613572633267610746352015170441022522655745674146765176345676253444036063036340347010232224034471506400625640460655267565773356053076166467241630050752702124224216176725032154211063713434773031747377005407302153206246522371574750363604007363562657301030472623153657335000402725752423333430255067145735737453435140512707261144533065774615020436046642606047623247146661642557646631350246662752041607766676731720143275647627257437510434115115400522630562543051210334515123740415605156501006106737560126404731162653473645027660337006227216625261615105752461426426614043653660421033337251454133132500672457616323073022470173030021723314670727002246576220443007617327760526410154544065272302220314513236164750100376021207433361230446331741430307463104043305416435162270261335741642726000053155467257663533636542643276062470445403403131734606716647367315575545326133000142676470251005055310645762430255611117243445437526163240455355502654717677236670530043444037377706346111241117056033664571506067067004456363142026137017232474577323763612173765767116571753030645643363227657525641660034125543526756251032571257672610207020215730644413463066352201466125103103516640151470147110420170630347247446365456352454070346342650473714073677751302104565114512202451270172452170016621076722426202104327723646441571304314222154511544062363622542474466764203246443514016630403016735210412766123164722333625326374516216607312256006361071174764766156643756353214143775014225166506156142113124232300252052530020470623061303063030434771466346005166342104610272551302024567662617776122144204276435611053303450547452350243577770671130604307161703165537400601507007744617161225571361170464660617745566241531440105072262657214027152505644732226153450441736423706732217174016303574446226354607317225476773324135207455567314534703155036604223005720367005644060404752242053703545311624706631223742470032436005677565644406743440014135524732626275052006504520573417554701216242133631403435320245166042372633446105315354335150040311706473277306622462110500166640227744346521325731154222636734235767672265514020237304712243530362375662333320760660071431653503264271673120722766017136406763647075346530636313746531150463310024402674377235004031155472237165325731347432627362437504720600431440725123010103016746433630106411153771542604452156027233436730273002562720757736532456671643515006565005454103115530331616314333622307331230064636265577410042510546013162073175332774540260735605372057374056571315607070613124457032524453564154034261557707132110741004632063363113530573337451450717274042653415125763360756750141422545414121242665643620040043516233562072401025454107173552222425527767747731515225674757433360606151272150642430065350361253343001704102257553312075125420752266304227766022654606512305110017027620616171261565037217703235664726265221567541037735643672751137453015141304132435222276114443464767554074270246526313322254737765656671224613263266752621511750603726453230157422136747557445514045356565552673635442423361100146414244751772553125630223521516652641417471575065143413565203562550747411226163126157470570057450064350136400763422576424400530316631672747457111445324034651432724041325115711160430036423720361737455737255041240543712315114743523315755357456401130076410073030102744355466720337246360760403676463010612235577201604207413241466747122301732506035431770113637742365657576671405203661153747556054335073726732172313247250106225117146052134731640065425426605721215672541764127520400056535007500757500340454613514670371442175105060732120073333532551321025276647511017721407676152312325726120127460531613535450162470274322364745423537016412037527113354072406717440343203256334105252616431703103564030136562064052674360561705747573121022474536420036465703153176552426670163055632060030474224135774733562171330763206045646522076530340230146702664714500350063004230241763345443723241366563715411364450702765456566231207524727144330436217666327451337264363475725262166212366635402745016355326335310626206445712023315567714311655307615724417616337770010445237300245302566707626133106541031640105652731270473556663512760400754104641075656451414655652410527544477354333361210032647747061073733507474256467564270055561350003111557227535570316524641776740013727366777634475513567352625450136732704353617402254072505366366327707770577772614670463254674266417432126426511054261434511341547415562362353402207251213345522637733044317737334106025114723310311546216662674470706200556027677633270745341575306530543347760701717003352722163145270773525732773270643257676362031265200636142334745133514144130405603055327226434502134465745142013452047650021150723310573522710104220103072622236350604412031060243116306226313704023075616504212321177753611672174274333314533750335441066704371160625304314207234037777507435613514234513033615200527676221645170743571004702242566764252167143217052062256527661677016063422664004312650272051233462544467101043114166216411115435370052753055427163565147102736737110507200247761532353116231266627612175563466323147157415336116262540417355435542260017114237736370525302536672357335502411740060713572020320065002604702221537533651517621547066716207571331543346556312752730305555423732071333076007124731726074543210511410541112026154760774660032121502561041661002516303471227542061531650137741633327663411147447616455637623422165073154517205642552230534750167122140025603016300352421473676275131413004046766146041011440600243712154374073302560667311600741553515011101615664610752767774564777136622666652452217223171053233117551440654436102225143664450347177513321416072273537732324627615777751277623527660031113734263226405336150335430653637313733342175065034674154235540207275040507022720761507063344371410556603465720130636145347666747050733067275627205246121744071423666655614400631747476224333237560425212075620603563465150027344133640627264167326217166510522525201352323321523653622301454055266024777440450434646301756651272377114227353421367244155210263122167043344506031574110274104050201656616713370750571217550514622716371176020322052144566112772275157426473414547445653464206534263646770602616166136755105673477746671302256236706264270741766226045521256224536646605174473675424742606056217727203646656366305413227253312431132565214654300216214006770437321627350157113655367070162611564772214306500730023445644410550077752367445116017454354245216637714744137202324110606160061213521326461120440475153276102773357336154663255156625051057257073617744461373610511270771106126315362033501142012203624266261367105654520250060552216230030540114253302103401256343415176525407733172444721367646544357331204441761503631177716075377014365676520633772373163404450620170203656376725343206431056761453034335770250006753745152466563004142401244452366607705573647334144301434726345554244602405632162473140241650014412143666375657432357663103225327760001302532435002607354652211166740713334317260213302142507367651762174651151617515610046527750202676122642466136067311744121544144765051436327215023004606036460204372342515722153736573375310215231142130121252543460636655516435466664422437305064167503261062760603360507562271700362643114463733457276464565517547265124223066113401222610327221614222424310265453374337352603632702665436346360672307373311242512350060443737014401667037732126547211504465132150052031631541350367575320447563247562642504407572031241327757201060054353500312311067107103206770561545060620304727770241720044403572056045771504331704367306210174577507210341427437342120520724703473342026060433436166724025316711621615554114716706040645403404674601122661761623247776555063167417630345734477211161536137373363034560053135172153535477654371766123665241162633105514512404377336014312406734215261456612012023204350145344403463122534001727127332605465244101002467176701417347717426204770230601640512646056757044077637121232020477256346614753124061034120744640401124505717426057562765707353510022374510367620242627354515111757757513204171040154224040643525662742533352514610437636040670142534102476176550456733440424010640273664704170724454567145145577126200540746000343065273366654247732201751740524644121371205745417440745305364116754156472127100576200031312551147427714030744750405317261720013650557417431001747760642265323771144114015674700013323554042636033102136466723413771427217641512363316761323351172235474043165047452316543104152130360144530573577531743476247213763501626137331357703121513030540643426703570773537341567050416404515565351625440313735442757356741050132213760145635343613643772053003044264003133752505562354207375167632065541662377732122712513747054121573314755007107305033366260546363007243723566162034004573600217744517131210567006423724431405313035457025163513005212564542062613130565703431510663677045510270457102764342277057275742175033067230635347431377011177374034141762253107727635356632254320151721653410330011445167603355273340133152760574437577100420526033644370754210146750502437606277324702175032015517133254313736216207156304363611420546715307550600142243570764443416053332656544171542774113544550503762060174320153354743536030750337325473224435267636325523637530453203136065223450135773161232742233135774473051036755707326651311243636704476244646125066541667243553656775065406224233027447341225712727062301471346067062445540204740736724750271610577533616146647567207073020040224152174472572173272140175455665627606640133443532506460346046646136254445416407563354673307612522453214513006614130315143616376224307112126210120171523357152055656453742443003271244772155255322720432603013531254707743164653671562271775440241323163570621645632507531227775442371077166276207422702352451457227361121335470642441325635473260046714356366142006201244156524567607652175000551365710477065667257612327522332515702327772472307270324352477213760314471577140377273210652402376167445557464353674444405037226276640777712231445413567201157250702621744720267521677401567224361324744375475220102214601237034542572610657612101543243665205010570561013713606766625177661417521236653572116556754037524760334304077305226467404274172201247232470665312146670616473726665570365070376131443121351074253223672605510776242775572217543050432566132703026235637342712516737776446074573017643767611462605766663660123117563720525361573775631320437076722354167676140577016110730535146434365612000465156165013125360301037152036224776017076611360127745065670512443725211467575417562571422336250311713545444742016461546215012301112527371543460453443176376215371346675632654643312334576674156517320254024416260201243356747420006444553133545663042125665530675067242546250105026571631274160341522533131201562726301121300643776002637331030300207432423027512640627446173003030100613402316266134334434356353060016610336174112700116442613701303570320520535565006206366723110075530146637025754516714200502443174305476312655450253426024424705563362566400216077105652722371031142410615771201455544352451173275511122425235363712307712454421733055657125363277420463034143067402444105363713063522537661124542434216556562533155643705545571026732660643104132352524170432200123436436010705064532320755550473137701263707076055162227307055330424774503325076244376703670022102732233113722542026560543322250676154671624026345355124777147552651164313517022707331311111234057224474000202422531125131654036160206310520756203332737734401201057011012302362420201640532621051367665530366046670454660713325014631654717274154064345576077367743020611662200741743056144132546747340516765235655136667330514241040032545352551154340401077561365012454040171747655415320746041702441047375115302232551341655742633473173552240224562232021117261207164642403031337216162672671052134630326321411471503054340232522345337575346000717163442417446034762104167106763456404123504153705506357115675342443151154420713547420514616717134161605367552247456226341555736337743273747321661262071366753570131572671564437335152532706574555146301723567665633637411655620416005215634176341165143330430003732424110535324737141376317577566524650176642204762463472277346531316676406647515200120256707002077572101202404471760566227453332023526626407274405556672716325222755645054014077217630346565363044624770206136065747652615102176057014024127437214405320503701257434707720461434565233231317063042731756750777033734537602122636221763630276246544352716174005744263545577046422155146363260312004431507571141535647023274633760372427137456177536757710600152674761736264027157036324553607543620762435126463575713465062261533535061061232131245040477042706135431157751160210003211414154557763160571711322341475760136476255012266430616641551005265407334026227547631005071710024767213534704222132165742134201157711422006166035453462417762625746464071226107516347526326174272033452107365264663312372014667627302165470060254135371555234176645642623003315537735717316705165724610670164175335516444241246420552470112455165102235763662535062652341671250701215023553752776733626536126615055712517261616577137073677160365353372031114206267044117600350571366354426713042132576625424441210733442164371056221437165201433672133354634752551361712550051272645446551121737560654010431277671012107005020732262431224125772533105221540021144776401147766024375475656523200125730174376765405240023005431743442741742062466744410650033233457334630173177116111213514774506061201125261157544655065130444546655503046636016723032654251242326244104043753770477242007573775666472221324253570135075073624124052016531346764410524401662301121227643121376225271222375126041245067025270522521770053170070304334361034233157401266625044426015776562375516035234164273400057552506753236242244671005771175233570730316102546454454102066650162734264713624771113310242077270635173166724661056417603652614521652716406500317440254034613264147247306445624144050153271051617033216425635010440367635123066033176261577041747527077122334240626540150275701531236202547123716512236173566535133674337362526272277201652245270117137540031520737347564065565165656125735426522250326017235003732576423624157551736540344715415342320276436456147272755510752062314334314071460361106670047167104641555127404141114464573325175454143252056660202142716254023305653576713125152767010041171513270426243004475461001141363546470641671351412412346616100214074422443666257004425644445205605232657133405432556450321572573037463021474544432302502106005655711370705120552012051326531264351744071555505111475125244111333055521273062404411427472462074375323735746673446724124344252711404652462427320447645707111667535007172712414422402143030407334740355372214477045022133032657271011272143764103024637474574317412261053114170032345752041153623161526302710656526171104216200177133230242237371622211723241607254452465166432630447074333663201715766427007106214226561426031724167014747713462114657241312223165642316476753527251723657316755072201226355007401711124614757027737100531551252617755337674714642600304306707655757403121303700611157131000475745354702564751215757562636247134103422200727557226566604751356377502012231007717400604311102026222052634432437347356574117454667357230141337174767365065005155236541657342021570367713632316413411337173450667706243563546363545621413215224270043762122753650265316242442103511734352601706744352000467440005044726677067733775255634560671701714237600475770005705350110750534713021507076724413612762133037334424722721735234273642105623701341640203344225274057576026772031350676415200536555140335065620055342572104454002744537410216054310702163542501541437320560716366233362324537556114323447250107602072733472435020664671156003002361355771515163100446544657064631237225206013074367136676712412612515031536064667600717211117651421672374045563643452604565445100450423102166351533666077461335651272332174254603155373667776021554706114532213025663100456604245751517452434222041062015221113264303236224227433225505110303766221500772441106147125745574415615505502732212043131632250226372417102015633005104011331403520472646235541565021740771317102045537616674641503577453645571531704653160604052627056260774154112454025712661326105003105532317552726536555434410400707665235030556120244507367224143335011161272656637440127207367706117024771123566447054236177132433016254263276375605236636332442007353050202640746544666146312231151611274326633601161260436125477435477726312253210635440321520044143364567342345422752331741645020501347122404615772352602343577623770073701247617004113376166015306074642730710357013352623244640666456646372747353776320176326404422560154550442032577601535152347707071235007406250067103011373412611231436465753065507676037030026243301344706536176645551761327652310146667452276070431227557111325164356011705071523010752636214652140020550210603300504750217711554717660762466020503553147174212373452275031735742404247160237035451226240631410616543433765372652475356261433135345414200517276015330163025200744207371107445231714740471057067646675322105500071262164660673056262516227527516510774753105724445776440074465610244737210524575371634167460741230242200157270166201150722245407013552151362723105071672430570152200770343200765043361754003422753563134175311637337664727270277116524247357336467270272146225167064515133073503362451234377262120107121564443521047643165547532704360702624541144222370273370563614306027443637643742015510352022762530226164234144343203236026430730370261767271136154032657555767152271270610500706402460363304551273656071054523557423464773150233373306131172470653127336124057103617727526472544166517431274536460415035606733036700311702337442633506571004723563613353240716476062600425542662637737135131500163645542262221012103774350257100324751277523123167175210770335515077227424657442245774047506734476600543366225460376137731311015566337003036126427266656412624614345262607514574411366210225454004213155502727222756751013465034073361423714612301331652724136442201143310375321124524632233400730022736200106103150016477250561724213266423713562647163506375360351042526057511622237604641066242000620672012655266345611143564557350174632505444301545462235142633711261352075642741777761714662206634224001355103724341203161162022174643532127047477736357072024533540163326146356432332353311505561470320626050170042461547640105532441123132020311752041471725425531756005416531226240007445142416322141637327467322241526650502510015610262116605743017321560677020056274604772003650662642772721511465017716576201554702021625443765214733700505673454051612666366204535202731666705522511400617725570672256025346520642036073650510422575216032267312734736522153077542350451772233277547060457015374553224420640154551705166061615602220235610052561175116575005510721405706524007601715715355564734512157263567336447742420202622424266120465012032537653077171147326413266423123112073013550534774254063132715351776174220302434601416571214763557157012770463733143745224614776202321047540147106425173626726752673057352643322376171155444522331130575237623704170064470132365545757341266030217546424020604715420372306676540117011624203126376352676002644760407236243334525245635455411414766350170602232305703330061064250663474673002637362514644546405366555011603265114717430173355653655405610115127712710070355674253450740672376666014251022536760641603315166703256055243220103470454736006601021133150323640173220266316204003365330432363224211605700276237467207667113320043635247633255136024160606225755120326351561620735626677116454252136436260275220416523161515242256142354277771704076662432303165256164417473615433377763022473004455143627244274617662277541537523227554632563111776430345320554437450432220512450760116737424120122720234702035271005656657265654116252423020236571173000342140140214526012127235141703013542545171046010703245063271545213152672014704217556715015320165512301305271544514721523454260365530355275007443506343022135564030323072073356571656657522063623576475060014554170174144336021543036563437363002221403640637676501405036544110002511232546453104234630601017773144010632567775404507147020750136353277354011045730200372423517504536313666316503015500764357626361242622512744412276466122202375736512136210461515536744611450562633462537411323617757622773731442507717254642625525354342722220545160207763340733714621256447674306501456704512661553376375764153051357665466257751021454257112254215671141324620004743154610625664373452636155025030405606336064264025661776463641010760370101654462730006745106645204246311751330725616360507556625733526042061125114353323033017301247465246653523710247352005036155421337161330241443612656024503405662124674030564222075607461773141303002267665212251705014674451373504034211574522115766115510010515067661700410442634316314515072071523636452442156123722024046217374004316030460255336623144033271477032263043464317642733245462132341154202734503413265040266613602051677611411507321200732047665422203373451710366570401326660561037451204426204273453477250271542212343317763235242165550767052762022007611522554303637563277044620365546101257443742463200775233111501770506442716603416122330643647772610700631405017011061726511463344572625041435261230203265223075574501775757060544260161051473216776760217227065651266733736673633554250133430445130645214701254401071551355667437034151246005151505534375735442403006202024335224210252570543664551001271200341750632677733306700547363077257034446456543714563674136475502457047554765404215723415745335203426301032051750047307154753304065001516547575466114524447165736427400634614045073112235164214403017253561306174446434216007340224715656445556752352435661523077003451651760154177360532750745263747601576144476511261754256276272321440562370473554421414302043131522267237675007621057675061172335607171340525041753025140316721202522356443250770424042363261415474233032726046134242111401130266417214576273244031046174750042037706011150240237066466532624672314114166131706751045550025624372517424133743237635256327275605467142563057226474721024622440734146127713035573665264510150417144053006150406521557607463606176143736626657615431345774650575474512441050022107523407045442570637534124367256656707004253627116733460321614023630142003751742367122746545266031014136060757742061064502373635424663120502213775764250125662221636513443150210201521613175324342473155223450014713675607544564747540662543144470565100544632136544464127570740044404230277162410540642501601335617313311775264635065163532736215313260175710753105373747344201077245754233064521420553640476203746642704652470713350125471645644717560520475673622202531517223225374425500706263423665437023637670262314434243766545006675563740702240075245737115157452426366676315322607054137376007672741622072635546230171636341463357562351705613066436472210170564247777523111442500461220605164562407465435551761763230214744304542042311011152247223777164405436533753512334550065636510733302561551601247062575512111364514300402604435237561557602000346147332573303507620455031347443443755506063167647203702625415002260060727020050043305030123634550562062640501250570477617251161244106533625032500424736743676710234555721463446126771447253363361304577131437143335677034636142541546051506125517436146164535420317420400132367355053315326765532437025527037704673404265646767356240260545571032356316667115331157466060665165415444056762545561317704635763704212735724047263054266220652246015306704742326507746073433014054047104560106122717160013716653045347107167323256626376527525237675434663472363463635614031446147753046167354736425132367655040464700007267156756405610733522361535141526136561000034433234756343070363051201774771343740154703072651032073035454474700151046571231577353426464502717643125350554226647121535570205660344226703017706361015546646114742302651404022257212741511042315214363113604756663750276043750557475754126567520361152330654344632660165437625607750401050555744161577717211254224646413527745355275021701114372706567220631761612276553047566024621547352312116213137576330345422402344665467335377044576640156145272250233116664604216610040426451317676602354326561236066010466222274074477431630521362456430423274264047703205744060543412145234606320145233135462337655764416002613757633111426603052250232141624642065601354274775631574253263737363704145620637345733120031164755527107642621604236423765064274100205225504430561313745053751517363311236230706316220666342232637454606451001737565335147723067423012224015176474210752027502017505032310743434723255503625255521057117616471100343227334173754627462063321235022201531534302417564521713250062074104137171665151717272564450560677577561306621067425773651517343021126665651240040140231312650414101622074747132427134565637452136072522163770357366501122327413251674126446356640047664514745326353337703640674707032471053602700362610454246452671041173600210560424133201523713172357225612666407315561454041117416436545246322266514200050504432654722462444124671330134760245522637101667204141101551317552105051124420611565662073377145716554130025123250636661271304524571701431013453161721052761065134141732647063247101435037501537456137205774061665005655775236304630424141503331552257614531624257572253310333075637605660276070201510202513572575160326313314161262310112101505773237405737423637364156111444276202546074075760405463734726611002770756741722571444143266370225347611630037320600166050501004431752760473120141107516213420244227026322542537346653303147527214230577451651644750272710425170057241275777505213741374101376175514721314436031567013353474227277422221225132273652404541333700271740407126326250247277241475230721211537065436416266054151661203705727601243322117425744301576162762506217352524705630363361057637205067457524416075070350141023273665415205677605450363123005125644437063510627477635416657210014221067032234062747550545267405236176637144364454315376137463756636570062151560262572045060311732055534364051505046632741254243156235606700446241532202456061410252467046726044611764153706112246212334646745550327662311040316330512340710255700706200037735552602376552365044340647223345173630577350524232435421104461324075774117354573410505531714510525735241155402116222072737624540143473420221341416505441056437511072137763331102641211036305254570004177720242044000615411321042124651537204224356120701766517425352046046240340035000024714435462514416445701627245645333516471615332171141711066066121766742532722151264600223556300202217347653314262336331146704464415434346775107640400622434152171012345235162140074370303762124267063152434021250224022434562500406067632452774607166214153221317157235750763512242645615367215450153167721527540537673134262335021264337356677363424666606134755727633476563306346646320357663410705356726273000120730427016416222315220136211573444356033074652356316742617600001341610721316615323620712775240406670553034161033754366565044056527043162703527466505240470403707461664457756324536427532621465155443373563317046705733311612037524123511643061053143364204203335342776540071226123306632444640727011061446263143101712207306465175702111611166477703316600206035252365204426102211365730177474321027676277453764754366671201220531300671143444306741032231162145106324124236351111660227432223407743254230247415162735331735173327647114074014477627271365073570473765306361432641167471230537200170622240461733141540705510600661667053423115302750565126635214137043267177650763706376125671420406413231723757544047147573731574776560327116017422365074442330774171121313733370710454734124040015054003204664444525526702663033522623301131574515607366653160455536143001322271707426421200226254640710000132400661240477633320216462645752207136211634520602320222167013453614417116611176742413575343664274071343462156031735104761450277234607152140444143534223442410642752547270157431660444510715774630141406656222601075652727410674761061453137642157220574642457042246703045335265252772126262271260520666371517512447654001575535614546370104532426003316642121672042557112736463267043562155347631017336417357536770504704322034135032701135314664306033007676267527155047324026413101645421715141550521456745216460544034764707047204113350421400144432366506604346456434170046647551272506655204544753015420411654164747506700242760544506046351722642522325633225052714516376706717744035602270642137103320512043437064731054026716345374237661550555735137400126041553307701516116552704600314157202766257334747077472721272245473275575413122407364022102207114462513104653533502503420700155472020735332434033347246312067621373167726760656446472043350515276537475126706637635177316522367361772506161713005251740223025554272040545156102232755570071360633000307412003716050405274620026023061755534677036760506004252162745633504071523616210036537744120153125445063757165772555526044740351020542217156371614246151116554765750627065423176570537715727160446010501626100463362652240077772365225613764742114526733044174322216302476722367165342040530067014533130701310737545240136764407264565447207442330157271157154053531606242713663754747605476756026165310267120205022012336712633167237272525161474604511305611444455665602353457041362473464074762075341066430376064563315460221502405455051301142453256663447321772664736242670716665656336451522016202124760624364451606146074426342022332565326137475560203715770443600227245142731355453227137527630631172136041012275541062541064565355741027632572240102773477516121376326333443343362744035071153474676354240036570277555761027507550031356230356042346737015001342736171641602167275274254361422167647475621607044257652304330670711117314304347574551761754414773264470070662540005113463041700636150215402733071207202022063615077523213027121211400516030047260452573064623351315325756002207716325744216712471504727727662756137152155761463265217770243242224751452557373765443004371702140301646754036634770575324547504103557400603272627675402506144714123257473617274154575773255350301647501064050342121337666015336040676564642115313330100101322757033577116657574561250464165222125314735600607574437165217365407005135504221575657734576420454357034255515043153151003246775174147776163452422044516540226770130175254557272032750151701574152352057304117105427243375006777632325133141640317634154135752302470277720535101701633770140074566452260033157317710414377722261117564607623367205444261720031642700571326062304072262133026611417563053541526305163357127236077155235021001230161406542720061370647202232100363271323635174561644361034021202171043535705755311052130651576320211564102104173537226720077150612160720560027523763556457763220125351066116742013040627451170466000227264325320143517271022314113743342353622046475146063742560261047067617755020776700155303232735043745660255631752323611503653061323752725055167464723235050361631334460403551336435503364056166403502410167013623442634612141632003733002017617170066523340240612104626516277130270521736237731553040762112422177223124075015601003375675247620556034116737144135365600746402254367013627711303222516320206706743106356060731675144312341134777166561034055561707522224505157031164017321155135360067477016277122114161207634136202251422655612440606251260601235522763207452661537210023072624166623210015423533604110342244532332560604355406554547253445170442561120504013451746656623641542172650324243466371432147443465551176754174204254136430735001220707144541042743423677576657127015425027022427177011510450640744577221561225345476147544547206515551705741062114422340725265522715323744717236313160706006656343327246737277031262103127510505520165563762432554027112512264275624763721232514340163054520431066430011576572263061034670550625341232640011566033403046406741664366125531502642073272211434565572250611422477544316106047167746772557105255040740527013775132050335403450442500726241266225310366240025426342436256125402720076315431003176002422734525766007041551101456120415555753602646404574000326631551721042773102534364670154276441270401771042656072254156011412677366714772603615165024734500727371162560452753735035073720320744044653000471701272604521027305104117601254076216357402352645441756417026772542625434452327144434705420244451036053436007231563272133416522660424751334006564011026701163535625047224363646610602164325304200005547415023700560040731464750044460477263301060275252071020010632275603404266117040407175003707334235213145616050727775453107053723252076373603127606654007703404732077240153450435325560252731441011701065031666206536330321151554167705471146713726373325242031161475521563006006712032144410624514562326215004417105302276517655706476772562104141677745555123221150463567250451234413442565146537353645030632417076171265223232771064246373272374560007764602233636376741625663641324574641547023763637374721766306447216215616106123477704736207017324377305564720372361036275275211053746746044263337411237144603650115304316775365563016351406324511536521647655654351062065045776707403350524266033633165734710032771511156125533022411333265652612060326340325515670223510503252062401675463617163441765557352060323461265200473255165616705105065223110560351151033644224474563357226125257035626777261605607734353455226274111135423200372460343407513066642343512235654015362253406556004360437667364226623320265167645075162266534407114430657646152113254003141124533056321303664342232333332617502655417776765665233253230517607076746335274106762224200215772773503733726366065676770575224673532040451236047544435514474322253714630514302417117456151007402040163674730466774170163507157225144142175304052610513204442235316573577625152125133116175773401072053725517577030140511712274147570365573542013312366625132170510164621423021126576655066627673302472743054565763632202707064424433527214636246271731431363516176625266152201012147774303061565701547614067357043344061505757261357120351346103310412165563133115674321141675314704303217070752041126541506646171110206200162420142270472467432044121037231024431055602213125224345015113146370261040450620601730510675707752710617006173053162235637760225657335212254203172006301001045254537004566754065461426402145232304405744541312777276504343767401027372765755430075046641522227661244645742415751104424306252664110553517717402700636145052063554654036747207450140524713367007503717657241602715752275360372501614340275471615052622632303463564230104134003620215200767264606670060636406545156124307017750156461151003545667113146062476327755631341033171210543662414620076025643201507001204100334777124414070206457643103606255120741160674065613245461010321453466471221213473472627232553575403564347211633100133076737762731717115100063075030332266171410077205406513726445634704571133752451742217646641140633753430337654042721214356667227050167216773100331667747047611521465700064650145457432647341306141246247016427621527342052454462326027714440642367051437476517212031112617004550564663762311200210302304353050254734437057012211305556572545675125437325513053366610060465213464526170432534372713661120124004220645207244713510325302470705003203420403076052122027633316746443557300776135032046115644323567225004651655572734221567056033506671603052771620427222114614125132070325137532424551545133270201074517735632400433727343753674226465632657250025223352671177673154005773140047656011410505262777250237016004051752577663751630161564170167465444155734537622621502214637023003307332721314015347472773252473101154513453235555144511363544607704263624516532566246557357560120035402567741020010445426672256521037213413420657257527705232144055735255770466373272640563272006652432666013247572553443652435265270037523037436356216073616623101772444653555647710005066011307612617056421777501125344122606566554433750033012621034236307365145515517367444537064216454320654033322336567402434613023044254473505700760524715270524305745376301576517614722457142542345550657157537122433530703622705650613735576040613263447623006471003570141243403266216574645177136410371232606765143260305326607021045213220416202065246426402770526552437303201177631274202141057451053050507250211645266536247702613760225005660657101130205176154311712166276405605507142424111334127466316216317431476073344437543043354571113241757173315455022253011517162527504476767164306517662350521004323253124043737573031322435646563755411473773172061145434570432131725726144707376717415665560446503755650555552750752624503221751625105536271025023601463671415155626365367347750510332034353275127727532245232456130157431111353331413252557332223511272423465755731641425467416012260210144421544257256156524331754525465642275540550343330441213743024325715665767163635742214176112026715403553667223624502433732427160057363654601415016301726473523317037626150127573120663071246364334505247033356706777003222636566602030666730262570742515525453045624635543416220462770310045643743346716645071647630257043714140321467314502572326663050566305404121242530260502304113426772646113741770333254714103640203375231132524700112200414314564776356344340510101763272360374733103233775410152114365054132710101064606543217361666774241102645044754132106001367726633740301774756333367646667524615625602142105017301514442102637172203014042053453753112605170502167671036040320626305721732203021534440346561061146061150671722712656437560067264120536452306565567361330216124770344156127775441577753554244403440220012510615074430370316600775410037750352137334135214323671343404255720724067223602215654264270212616420567350660372170576762156652417501007644027632134405712775205113176213450677512165027355517764155201736707516334367061165371171602275074306046622066255201107316261542537340767424221425613674454433107763766072110031313063375545154503454632602652747723416043204404325724725313631207454440774302733300531670426017551060561524755051553375535663367046131220447401472210532426227016514763112020440007671114347315226723650463375504756550131301525616667573467712673322456362606656641622651353336360046671374025573347143250151015710711351364226727563230626536646025703367710623753357732231761275424546611171053670174032303367551200704414571361001520551031230354523074757524643506474017117325517650324472247353763351226301124245205111615735774340452613635107276555342042657162213733072424504601577242742040347303654033261045543516607003225623706516462406010752604606225567742123536764574145154447146326633130732416244620773072475607251401611400246326522734611576271277557162055042166151664126230170553675372143265754710026124766161000660037420372540703757322007047712347414564234336103722124662554574445504546024142120006277006245755665077115135567625000771213126140343432613741746537443363732021724732631605450123451340407603637646562372154345207004551130072240526337144441526407435632641103332253056107730353431263734124606714527177675136734762375354136700331114300474065447675361123143016726021526413630210165756543076603611532646574631734705161620052024525412106471623212151716775302407712237063652774156742033341552630314175433503440544412267351377432467054474423506465306641241305334014123350255550005577415450736554202735255012030617041474172636566777102437046773134266551743721127132064263353430425635037126774036162774053562070117761664121063217012330602200454242436403305256542102205442436427146653043455313223421362065532616002467277343271055561273540563051141224356074364655173156666036422035060716347641560600560167711336127664065236647056617156162762607645634236036470042433207117624501110043126432434735374345765476062355132420507433515261101661454023136622022347233025434523242207257503360700241245425157045301632415205475713610744223604376330366201564621345033754261060722122574305407464775651164464600203213231377060551166466673727360016136503376254132401263263043012734036211313402641654501566550017541344215404775162046651476007200232333711046203763607245642444505724654716152464741315015732046736651517756723111364242664104133721453617422071660314726372230524257205566773162336012273255254626621774237664206777347363137705402535070256722445660321064543061346012076133565247501330666600754573446567774674427724512446150733161055102137014625351556371151466613164620332472127410564170000070314466744616657772113360256172763073067667014561227243541400206103427655221177062247146105626226122331351071436274647537037565471140577351225573263227676330127571430251651230107751705232646577741553165706267170602241442266571244535365337710736467304750163702271074403677506414754027760534464564024271331453700305006771114367670651560052714220375350421517530724446046755212764230444351265331774700251034426507652145274567607420535335665012707626442324214205267123401166135530026622401143475503712015122655674577115130353047470710766676610737525073013305013751334271750345257740770310312111054215327102461042205540165676764665656447275453727625200523403033142245722445663263327423721135214016517463224312130007016676365614771705032714061103103724035460223160152654714006766273541177143345653020644244124423502124562266007033111555266233235012600660357037455437226051150102172447636701145657674754311676026344405177303730656763246006124407764554075742606562215252550611511731714046137034766626350362237473456534461414423764602065314555145752045113730762453314301637022110520511750737313240324337436110416521534174426004447716533665204074570762313044362507512562677361435514207744773673223136260577022676446306757762052235626062656730750376406601442740443322277560612540622513207657074746650113276246131070674210644403305516527205606476412675705263071312566507166116400030357404465626363052507055701420711622000063665423755513160642556414700466401171201262641114625063330005636152275115601535626675325534077304201657277264276614367612433750504502450517306525663676605033023776167177176715247727242613170363721165153033547734362553462431152723124427714356701104313712277051326372352431155314271261516476051236112413741561346163667211057636263427422105030504501267460661005413477715117037017156207671163605061602063766671760574600405371753605157337765332625145523356614634773700023157734625040011755343143674137206122402117733550236776025661301355206320446305363711374056100646072564665324155726405447266766010205327206735471311204154731535064621465201732260700100664020231565340302514564651252116164266675153076740062174220314672505540416345371504355324471122006010057123532100451446500133671516503326516710433172254677754163114734650456021524607113653635750746207456457650470005460573734076037370515464237744153344552756546330132234250706075341104650221247567473253316122263623702372541452544521260336542127753607111672203072236571560724507655361750467254417635056667410741470023172363766440452726530353714415532021357616731015267310047311337735313440470375735564616306315313427431260605525567107260267657546702017756307635476512204663157622431403626463561456300564222551467226173116764215361722453576444720767530400731731342272774227540451666762021530336045035772244475073601532755646756421521402536431166726162300062612567051134043524067667740731265116360601062403554676051147372501560165462774012623331370035345564304761707266234560540024734374631753703733470245331462155024653571612472636762452663411015370010103475156477073531422704004076702643450532444220204420621116537221635553234552714372515773431132110441603617132547753131351216010211565763746767656212656736525035160455133772432776170134624400222344375142063402503615545505160315060417205411365503541114051756710261710152212761646373627530137542343114122357453771305141011447315255543050205641774614717553423326613056715763702521072347015545616707742176654310505551104126125610471263403761530530077117002075224134152460140771007155405332470116506406426271575066035421115671716367563231266442600413740673500413473026210743032175253570123653176304272765266105562534035657566062471711416623624247547216567331773236445702715006422557633547014137567600347733136576603445445224654426317317047230344133551137650656025301657220162600612506242410751443165063502645414273654665574217147240323611020452455337135703157523747135745271100741460747007160204644500711632150014535011415325573537667341261743551565034601217256042504504343756520643304221476270717660637167760130166043264145152447633717207474100167473455366020611654463275366720010056537250466670605321563136736771270723012256165423112661537714320410741155054141174465163155435053375154627205155457241034177555756636403065735174565370772210702322330012454613453061224206712322477010334123352020142156773402550116623455271675120575406760144564354525434322137251430550554301075275410420666765231302662652015651374346461660451603660600436466315616560045153744411060174366577412550203313101525646044406312264743517202007740424170667424611146637030606171462101066130350723445605426737035056540001263331565375472674753055065741451611130070062636714156355167566333733126542660003055751605220121326215137450605334222365071130772543465011327332055316375764755612601071100767776147142225022361340675513632141561560111347463040542760364651713766477474243677537562353637260615135067464575372535035400702533072557345220653625375654204160404336615110271461547244031542522062072355003231603162210403614607165171147531347251301607147055211676301675777226042113522312244051225603651243600354421756450544042106576475151033626106304443312233101447474453051711557504065151072300354610060356724210257542463516446674526547712344354166245340147421623717517543355077347264303077720304523552143343042262504646005241252600411614461426061460610717631547140123547042114205653226040513575454377742443104105750734221266071213171247205073777615622614106163436063532770014032160177114363424533627423611515414377133545032631002121645455364300563252135116644543271211036750476156644363700346073711144547314166364531757666502724171333566312716063320754104460136407560135101410117245041276073126234516154624477051600650740135773535110157071000302732516654545721240152112413670373316024345042674630070726405123541047654671142126327306723201006236151665766154451442212003555004577107152426536623304454756704737575645532300404766116245072607447735446666417415401630635272065505635662416457540362750157475161727152614746277152623211466200510055707764720100623331644763526536627170654567450772116414010631016522460202060357150674602150223277633054111243340564670756605660053456417376752651355635072320153520131302062332606634346306674446166624601514745533770201052213140263441663726657713005416734127641367701353626334161614262511360652511273503300705433376162642217020114641467462272613666771231216365701055270322537467417357203030453130302425055535074401001072344673441650020531302163673244450532577577176632324535717370667414143225643215050601527207425267060036102045373266241722530417245546104577540455314152246122200360574414343625433520764376064735516545524433573020776735075657222771260323026102650724445742311071517573301705605152546266445316777535355624514265465557254432237214076551264603370442757173371132301127353533255674731050467422003150305117237653262534604472432355255030371633721523070273524073453217170224543462543371613601371201507202750017470453750510012606354635657171362231126500715230656501026522336223410600750476407436771336765321025013076246322317072466337327371350022601750201660602057107331556406765147417410075751460214244733764034104170265031557162446036652140730637602274777047535373755630124075423277173341306721676556643646265165202144522363141242716635001530530554136424335653037502572410001352720172017372007011314272315607631043722121416642401666672653226420525755172220376430175743246246536542402571412634272731203451605706447517130472760350240772562267301650156371007064065346702125254350636062073500602753441501255707413436137173662420451712750400751536063263753250555603461334641400611704502737716673443626617464141135152441752607004603156055516312007201460104605037467131076465027553476330227511216057531353544624172516563106610744375546571226765507471736525443544247554730057120347326546726214544151136240466333576306235326174336510374346777600211124766005126053556174542662153020635002135256625611673355472257410017302115021735351230315335250212573111767306667424200655177161421676672171705351573505601333427200062233364572733606352515037757000276567557774711732273567254531202756656107274370045301652127547546576177613777654315611465315705550370642550552221305430712227033170333447447270044165224267132454776661106376766702140522316466206233144355455711616144013340575774665617127033726152613067177416036360067256443463125617672536657665615065375747440625524014743046717122672303102610134061326564550712042711537123040271241175200423216466213672456202104402061654444747214110240621405062346144546276100461734352104246423777274235643705706666312677206731021556107623414526106304164700777772170734272304712260674324012575744435123617073620116045053557505243563064361241445352575435760341470455500106255205641224671453111562021062303544350222330727601257261330563473523162056756762212164005177432647262344625554574243733471546463163370326742345453010367330733045400362304776747612526052755647366732050237001416273640406401520054116044432772675232374433161556344173626633067153346257256606133330476641626661740162516636541713064212230213022240543317417715400642432053421035420052346071624573041432635202777034666575470223171174351334774470443521663312364135053244612717203562443000534060346007250431675745722630260101157543141020231014005076243307701666053415566234017033272320222034335514217257577713517762754455555251244364463621264662373231015310742044523075511207163772266430341645672776646514574337777225774472575400622276705464550126743206730615274766276667043721520715703304733004165721012160456417432161467107630213354071536402614743127175557161216661565734564125142437101630475555334310014637171744506664773410524241734414073471523200567102675014565503566544363552212452524027246466432475274446031301325540517771011210715146037355225647762304567270427565103324205462443561067112140633702205702101204035354356267617213624373212314456347623740406441243113542257645723370551670313171135271504152705475157614054343542757322135671777155626045344756145505617037544541132425344512755154123711675730517054141344376564075155347546130264565266250622653524315306004344300157610766434567203362275327561603454233517644306152016600471135110213201777247571122340371307305124354776317102764046502214143401424272426551422411011723265742057667366743315465323354521221365361674377111427674212225617622142546327440672023040244074505545427562135312405201413244344600613002305266042070025347070323752530176663651116427575153107366624111037432074623776341727760307535752414677647663470111214403604075347756527064150621357431260706737605200157277123251553460103050025111247554176133675166703106030716547133305114050134643451663005035200310243075547735370647375462064526577400026052650720054167315244223557016266706365404266043052167575237443715223234372334201152577204055742455051542741566237102433103117521230746564320460114140751404107647052336443276753667726204324623042602425253071414755332350731555510450766121503572065421457414067412173445636007455062311476671365751513532373165522504461542270024454206564434304450506205531267706767254074656055530747147415646167666225052247201411076760310035560776642553164232111522643201240634633027207573726411173465173455052110173640625026577364021401307272006246221562162064157613433121414406116577605036401110073641341137632106636107566144203713772164207030570767042412416516071667040541410670743556500526356234434333302316356141015130070115714022455437434465177753321463570374607136711764223432742767667460713401262723643272731775307637542475525023454662132312250107766740306250156704325431354240240464107203127110071462452700036562566654131525102020051563756030367176370544117604614035012255141357361101774762424640411765347154317262501420702417115010022512136370541373457536167272200447712207574405054567312322237377372264103621003304501015072535457052667252314210774741015603052702051743753211356671010500215005675516103616511313563123133762544013017140007061525667555305176644037237012515102427624137130371017126127502357303351642562013744000626253223170576300617117210126365436400275213370370620037177415045526477623102300335716000266473301054740662042751556470277630564375032247466357426467223644731701063521171246353062103242607403112613673772637071745164277472034542766627376062432260613015070556073617672767033561210350112333527234531006276731057367357021202644277403134727074275077641260061105500062677252133447304167723574641533035447776642456252277161302433666317320162166120667545413147460165076473543440700113674004377112362624213560150476510630126260731360523472260124253513041454262613536070632215475761132205611362057507045761365737043720661564614727170627760223767700703037445262176574727354645306403236435270206600231123574067325667002663257413710773762010412540675107617304203157212050774145766516043720640332362665306276744344163346107474230413156326173214003045073617511070341266655353103633057702273113212077441403706403267317072740617206766531664510725574746532474772611264062741524471202737663424657044662737711661220757336166555226225074756111745115142521553035565073275357721530144504660571167024536256561446031627141561451133004117016756517205634213772674343155173564161660401004503243711653643665643003731335534574155002671072652151407141155142745311130350173467315666174252451264312260154302606323074347744506162242544202403632467363241335351277051060065625117643325326456410654060272625316177063515275633445637731005026463473614435134652172624577731047621763545744170456047251231364567422426731615051026534731665401156307347543040144025103352513574175243720013227536211761535565374246572446652336046577651646165606507251764277406311633763007765664215250047743571133371507275711110120764545755017776244631130273564023365216054437116405572435770033564507426517107731724402044314024760713053654215374242033065075524120213613420276274157554523775430372424755273642353357300772517406706101766124551570105703644025164651615526243155614351676555533607521607742631062427221705264475654132217745057733644373061210653542656060544734767056252356777751141713660375077574231454137555475402462373476412527433677734626410761756447303575743013760342216612723150707534240011523343520262527406020763240744517740361754227402577121535612251076524231573730373453630446745206236273131117040351433144320246022252567633071411271063747744327627155734655315066246713755703352366405300510345404025067357170400151113262673135461042535532615721565053145202120553634625703407032452662624033456546022426015077740054766620606004170650460572255014571143660060602014270046345542706710707347261400354206743702256002351054276026073606412412733520144147556462201732603154760537312356304012051063706131746255331205270540510516133467453550004341762135256447620623050214337624031333107251223665732222450524727476246176251310436661335362527465770411460703061570051102127476261472452775422513050704353353452663335076133133620556655415062102647252503610644002470750740216121512646417333211662776025476161741323444566161326610517712066521745107756075600442056644662276453040553413066445215743315634500547127322517763173255223506272360456166626222224701364511700004050452622522635300743404146212417344066656776710024021360220246047450404035012654421227575532607541155611315416266520314635316365703301507133741767577060414235444017037061343102653157167012357524735322755566612305021000653127253223307010021773427520251301003637175330326417141036051021167722326044653227035337054671663673245004513444640422365424163515050060626764343455655621242714606546430231632061307004652447126773727140016363471050371140717442103562157471350102472103276132147362335727051063223310416273170412314356362703434127573245171344547033336746777065677166435425441627557273602633655633510766723252656153713323146036473575534674770235334410340124334703747023523066610600076650502212726516763027746373773552515203755044117451471645767152626355750155172324002405356160041773642024050111637413544571266640472554550165710133355656346524457335121300301764374607153527461114517604142741537175254322043741360300502570764310126412076025370716176411430713524664626361461056637357217760676712774042454744437474605745153107256343700137105473133761150443323147465406240110632173623032735160465714677407650562771343772757376214003255717436745500563360746513274173074417450722551473736271521445432672721421424642625121011761056142730623377223404200064230303313377463413636226447031737402751745320245550614355033220125530166700544573174620121636200517564272716104442643537042704023376230440143540731271450377454537151501624542172347172546543705640671242167525515466247640315574566043531601405302727633324703755135054460066332776736366356123536514215603503726732351105025150413251602251323522044737475452721455247035625216024320473277257756674552742554321336252365434353762761675763407527267640622304145561102374007213627547310556261042653754530511024216671043507621344430763524030675642667314717253227436253201225655131153222436773415300210625775620242160120416645450624502537652662124433000423117750023177540507731735352464002536603707757530125000460130637071057037041451557110215200664671366714603663762342224272317712141424022525423373115321522611113155332061154740356460655305225046545102101077277611765040173677735551644426505273602721721674502501240352627157510212510035446022424575062427744525624447722541025121560525612452437601263601606106707420704663370025554521110540337753447732340724703505670001373252157264745045115620137623724673616606342053151311302041555203456705516274517622266205041765614723663556515421350374075254312435256350152006371005300714265503165166151134503101203265621234360664350534720211007574722461540663745433761037172561762446705014553003205736032624744053162476352244743673552722675706767452545645764035245125602362773000632416767173501533523535342536730552445206540364720076653750474503373236753007116330327046405750751343165657332217241446306706301631407422155601163562115033322570103022311513666523731303065241355404043056345300466135273756262523257560201023632265610545060111731420023027473151615035627230250247154342004301710451075545360110535111124134124655362670130653351206433653660771460431713110646052042140135336227616122413240241226552625507237101633332122231722525102226661332425661450110230571651441707726476737155671156502507105256230115251450566411175136162235572720163656250310450043060610166717007327644311761120442660655365620225643077502060514771713706370245421262303600647137241023274463432546056215352543622104344003762664605044767634444236465034165311251523550654611161706675464036337550560162144304553430540636503560317176271442315365026244463535046351757272565236475366357321644024547320170036222514317360576762012633225254377326775716315054006106156175337370062426076014223362620011737127316053517224337373454745162702070444016573364553554117227347772040244620176370014106222040544441254710650767167353702371315567364603026763717567521520123324753035367040433607576274646350270226763671215576145073473147473134430264324505601077442457275205526345051042072236707254036157107240011571000121116555761576677725334713415636036304774011737600136127202217212716260432161756510274257442660766710516456436724705675042134476027035004067104525701373740557640627215750324012753323006721534401327053642111300057112770204341306216043473052033030766413416347544667446512773342306471165202174041656671650720415515623340060047427337632323462011153115361514624764524140261707562755756250254252320632741515574016364222375230435647701133475071254113531122011210462043547232675541771426735225646643705314063327675577740433316142312644260535462011354105137232371250704441021440324422265506064744504570664532122206077544432017651022143162537133710334332132056644241062634645204547650362040334660122100226630072411655144733033520437017626362041132774355715032073771275133632636115263414101254561345417703302251300536255426542120062132646373256552753330710210016175524720613342405112167564503066720223425655354771002564167576142360517622473551161304743762650660345305465747734124754746651040167261204055017153115543146244623234225706554674023425410742531770731776546245264214731006432401103067513567047130457246637035120412027162450114337647254047073774477601676025174360102267743540326141715056616207360267254465115015551355147657167277746403746550110453403313211040653774032723247176161624720170145201562060227670254224630751537261532175740760600545066027116152743755133237426575246203155571245741610624573362226523507340236121632460217254744315243000413204214066012117204376233316375417451540412073263163704247671245720636737050105163404760731224545014630214353070677527655251727345430662727130304012365740326603460524017104167622171124636317011621361575155726442132001625443515415661345452344572572352217717262136511137751001711534205116764212513727634703571417024605044003365603544023216445130160273243227456462121635650613603244017607064017521067437300070457273462703726234766775516565605762352505167366751565605643144523561512322661672067451224707765442402162433511072421175063533172656107416054513023104447605667613474306140571074775077040332207240457452604543504703107064064740550616607605437565622743300655373337563245625614212016150051407466113225675341621312473370471517663204667666142623651615262566742501362074376572551653103552370625712751410320734156660756006236046771054672153620116473474267265016351741454010533055454776762722632003475133045444420242077707205362006517225772462463563724217606732321764570515371045137701172156711754013067544531407742776626220333546760060742550565555350254514307125454172313710227544204531300104263332056564457357220271520701667430476314246026635256502751044023066207726422512514644670016600456744002142063200351765213436504265550476273455163472147727407221052541372234444774115021545040014415640255325547134223073513367203714652131106033131444723054676225427241735057037777436315444154704500027322076507024063423440443715072642561171776747361640512673003466543147350646647266232133431606414541203601051433175002132651022462640406237241031636530532637340130352624545000171123050346443034766571566445032555212052200334205442354137060366433415760401345714117640075215455057656432231520376353744033316040434531077524316676012135671301234255547544112724056635556132452230014376533615645340527152415040741675212210453724340645566256716752443261773047211237644665773161411360327713264510415003313236123541434334044404734201253423722353720132216430136152500174036336327333516712243365473566751177050404054450505542411520240652775261763623166550265550462462241660273212717705301462656327237743704406050714030353624317473363360257611476663077124514317744046421173003162150523674556557255661367255066447743623331112446622613724774476103601511602647533137367025540604373150500414116330407646155753002360234504062547747255740055117410164745066712525134731330230317547203614044646136066601421505215471715660054767452315113150127553320234065522316370603667335275330134202322576256201607335705271217015647755540305220452757415034066323556065341325064402071611316740154020422663206475003664405546344100067526610647464504234136005744771564175562266401074725174665322740503414144537322406547233434416734555762351305242750745405724410352463432325045343047305777636101755450646063525343510371674330667777460451660111323074565105714375445773032772464573314653462237750607126413310771210644412251217402356770502402456404716040725620135355365535302345250460404753623660007043003004312540242564723036060273053123621140216065121465633124263255640316104373356320326403532246026125633112316432471305407532607325720171072147060442733500606461641667353635355372441474473751721400313303603703106740433060753470767460044430075014775752030120753102200052224653151262104714614020377663100214653577730112163160417202747265767300221136604007650472372112746275546352060332017507374547425054452257110245751542444047736752242744211432332757114231213454671452770226474377374457676631052176365315054532527307056444413123404177467016676314425351175706152031356112255433267747737503261227375531545377220431305362245304335623026514400117063314214535507671254743320520610134146741505500535437751475020217407602035311456600157122155124105146237226616534347412173354536672541041422522307266460660366025171525155272476205167240120743330426763426605031074255340512070135442515700613504441734171437663026060045575524245236120315711227672100704233712442337542332200212321575436010211054706346312321641632474751251043342476440501144367700106340611405326754463100665631760645461071506375056665131442647023304056712070265521005554274041235774230232166424016641175530444067671236207553610026555413420771224110544105671271765205633044247066377464725043533217561257440440174232453306074773465761114407533142025371077051464017724662232037612151056354070342446615075177654216014630120360221436552231467113654521030725424604065524461733712037737361413105403421231664357757404364561535225556676755674673305202670611122615124316025310021633227335570760703225140123232132707736731050060144040506724504205253613075513220025624007037214655776666156013167461765360711151353076313475702751732051361173317530104336470337126724070546020641237201166163317266101520032353173731542312511163536750570014714301121662244723504310060365273426143711150704340167004516335351133357247250735432461760071235237403303767412657217125477174033743111752225437305345745646431013447611673310430306041062632445564775720174421375721423646734163627012521037260523006356424052447351065217610501047465430331704660656541142705042230022605550364313745665100621143717201040776140223205004761551552654515646302303542636157221133200534507652370502677064774725346565734131563053461364551716420514451016703142576260733675525512203210363101260143210152433374171474143743076754555374330627137715213731712251021200442172470161131053614772702507565355356160105274562356671406434300474603040077237047562457153125540620302741417377041421512047674730515462412044277737505202535444434752271063204204032434263726507051663324471200316275734173113517173015453063111613522013114642753111502573617001110104605763450213015052034026734366266237725514721523472656744326265403736217262127677167104021765137304661512430413275011744077155056115251616267202531635135116373412411735674444052632364464527710532016145470475530760474775605446310705077553120155733477016045001725136762323371250547555746326454161302767740175657034441654733144603634747031467373447236134261550751644203613505177772462231052011424414123513450171530733237437464604317106113041046220223245164477763510130752677272246713201534752216666053433234025161453732242227512306010054110724773433374040007143166653666072174411320627171071077332141463575164076054530320045401416560401201066120602474713213441455012025213611774365223425102152674520652010516757075756204713336431471142557631165267467426113762630763066735760714743053033141232142532370743143512730406370410002647567321266326557532650760532560776115670105535157567345005413133620647346355562326623371541415523530331101357453133426376114737476104256736501165461305544415245140326156117046552177141670660301301162113402142456363400276355261127162163566465354547752572524775730715471647471474734300631143177261143567316750522647575321011516000165563357350134216672447432723032542753420000710664717347061607461224037717627077003316061655220641660731311716003221153624633767270551512056375062527213304555162432733604135407104556060376147420333155142317046055230100445364257032221046324307462274117355477205741077213371737302553572407423246615307114655403530774534177210021213337103433776364225304515150272577127325720436022307656153564414637434245753261173540514433167246242344262773746607130450047115531566727761113755003343125645204662355514104354201010551226375754047306553424741540211544445701711770634612427451350610465705501176064137101413070243124714146403124662731446775337510340054277374662230554061245204643034515041534027305717734633705265476767476103134414767136662400623517332562175054434104750477521505702004124532110613426277121277232367466224744616146344415547044654771314151220036773526723176461570460244500323751704217240572040372120646217070716465332074525332421362374351622007064566703677314571441466424720444032632706050373512436265201441702102763635523236365653511213415773773426154421570537675232367060422555535225001003004626255210302034441717162650562713534771242741652443477607367552022446570265235702551147355001175512317126547266776075015716160651621274056007454211305151255621023674004213410502664032476263647364534255550166333431301022370350753125146445552304001212110655316451451102515626602717405132454762035564103022033226373242121222510414233535441667763136353302600522465214755425626112513636030620271263436421257421522703036655161465162030720772032771342764137701435520135337724746114610503032066633245374312634505373645266206661734774135405741604032204052273653723406546266303425446202242032137664770136770474767503342231105744053141701737410131476716554220057617357036453631103065547604527174234600766414003541212020110637257411662403022172344270405104560546453052767155266063172564304613771235235117205656210523601365025737772124277027702027743732316426310740633560267271704565770444424522645675250113026676005637010162546545205165765031724616424232761530750345541303235424076136574025066442370537106033743457452144367252516134607467421374764121571372510341721607203020465675530324135774131207462460122535110761472214571774730355364200304421560644701457173213125570124743754763107511306327742771477354753601443233405453641121406236641332707501232121154657025305063344734156011145032644051341430205251561156541114237503276142245144246715157133206575446221006346612247016205336016144000776733254047753247521107015164467123674613767212504650730422111426501737702367313670212132636312212536725023330042344441656774513003071670404427030352131021350772221642777466622055024220746125313600103776405041100014330226421042515232764104507342416037552370527241141145007000720000516310731452310351136034565135126672351634326643623036221541542437557052656443225514004473346004044367175266305446746623156111510330707157722175010014450703243620247124723443001707606077442505561463250700425204500450713452010141574651257714163544303264426363364737217472245055134327564331203263576432573012775662705446720425506767355767470515554142717336574671753466147155146407375470216127356545660002416610560350344446324402744233671107340661715247346357054374000027034216426354326474416257725010155613260703420677307553521101352561063456072571552125011610076171435511377346512750572654431523331067673466361156136666234240772502472235061421263067504104066727057753001624542466154651115016560221431145463062036244166151523736042234223551776066354004140725247524110542044227536603771706420575745771277517307555624024412626015623071106157020644623443122146502504747222235404570644470177065304605170323456726636723666575162301700311774565627521673611677526147430655023571624612764003614445011436663033016132214015435561270462326057213522554724302761065563775217476147742535630410150264636477373101163173676633717753406562340370447521711046617703622426276667616211316702501000321300064115511112532556055460672454466022633712334167555263411332743060026445636170550424004545315016200002650015425011774666404351455137244162744234712414046404443560271274310362354223757050273727075505701627071443340636722117431205764714163243011103072704471050215057253165603370635411112216337714603030155344454021735256570215717421431262775043364413715051361045156061126725525257642545445625412415547632372251175300033732734313147602112650540066355042435641053362256751465561073443327174620366750367372757612116106440702720656022726315506140660175745572563321166500550262035130436323033212431357124351413100717516161164102267210430003110647552154107151350703601155173225652155324113117260330410235303517172156005057413112141147236455052446534664521256312347756156377100734045615042762066412241070761516621300556347127704775433213336722770002541033266176032342353256114006303364057545366717161771656425645131665733730262450167500442044162311452262115272672052070416003331640416726650700667165146241574427663576557415351151641067212325752771722556154774723766352447567437652143436260125237004460533305641013123342044657333601627414660006170240076341210125714400540461437332715760757412140105243457134672101632474344200752777102403262531121477363537653332541117007220413044363347634305143222353317537214561530463753612776336563411140212034542011467455245001777647524534277517042312556661103706444346051756447563527041012601560312662616026216773125002757510165513531164171046603365623363301272634145056275477317174131757340543526205562404120440246756254663564765652523431714112226134231111335534047271361027451671501717441727021550607741513466331404432050131321226023051265355471166437655516745055616355535346751232440344042517414507511234143141710547040446653526542771733404076337611074004565123056627331264562772574614623642741020245733021453021513527337020574653645002057671772342427746546671067067457100721623271715747305000753605773337420572173200627344607341047156760320027056743635034043565725705307430443575171734434161105375246106615616222366306107173713237437310317665511601615453000122271461036014743204330056661624164040441474321772464260562424230012340601165411253661514467226326537340044176346537104356251632116576575457342763243337431465524377605065044517231253367677531060107636043006035157300754717613726513172102073370014065654575730052143116302465371674365703313737665327206035172021501207042426775540326741015753515042326266602002026457360673762355373713425211503524442526316734014173710763524367530160122732104433735376713750411307360705332321063263220065157723703177743471250441112353004557602603725313365640657203236033703247241366102362130565067720157774646522663035006374703302737246051605776412722036034677603001713551245400663366376210307776445422373514174467564131105436400635056013626541446101645442660554230373461273032546123467362564741763324720420024603430153056401427615164044642007465626474723713435107420700424043621072736137326221242615233746404233502042103672764556401763214243416413400572477473351377464402527221542357040261014571223611540004565506526403072365620446302277067047274441151723141477053405421161574377320417756003326064656721077135405334637246474232075261426477256521323571516464721207434626711410073226750732067501343550072050203560274471054714243034640076660040374363601552467005014242114552345762605612436744776633261017442250443764462501720334020067735725174413340702356763102727534017150045307560274576226064452346404156157062147341416635723106247022717763553420701333436172444512123360623500366423322727401571760345762442303424174702744045230455334251014145225414024732457464171255432764200461654503554464200330472674102207045112646653414107330153313165271123611053422412100271237155354475033043655206505071547630643171071533223757303704105302750616720024416163113021057070475773755362560330520560450563760232211215017113764433424527131743173113164152333236137021442310447016525532456326477116364746263416140155347066565156765760625442062572212132403533477450653300562252245505734517476424652307003461312410621550600233753645461420715613214527024655000233540670061150157035507542532632055041665644230713533645214230451773106342141163577157653362125321017012560277722641206730071211052016545025544526207545000530547050745342530056401746330620063740050456712537540161033222031342410333337274055150113700006554633236421057662052707515603305751025610037621055341645303340230255767556317654074323520516712016567623453411257276720721676406417101115260011636025654112420566122102374025301744347370047255131037350360557653054530711246563110716130405111220741270740164633465642670352455410517226700153500220556023472734521164507475154214043506526104000133170320476013401016631517201111411765466021405725241620400214645734070105542361010163720076166704724263134341216577731262161276465241747674062574155300176070116641765003271210726533405256631020236021520635544152746606423233303576131623156276547666525040623431732433460140156240643110214512313446544320110362126045752375336151757653442103035777133322464423211473565211224710271053523152767275120614650361743625524464657621505147665647713400177514044674747757034535475026513715033160477474767716437546151164344334342142471776116744160366507766133516407647420745725724221277157141105466770224763114075202326106357727533460347230146512232752435175335307221441521137756170067212505540674663536716200657632223342532660450226665535254241406547006532335604472212065241450035731474363471037533367241406471425524011665323534356122121524462213407223220675104511713467364542525360734557765434134176707271324545702222730464007651407070172261555047072244735300327445270153340107410775567504554466405523575121723445552710162310615375143242265300063022512661346426075507044646666654372055330377757535524665264612374161757146725702157444504004337657672076676547541535757613724515672641011224741173110732311706445276314612306050362371343220170041003475716611557703603472163364523103043726101254212264111044726353673774523242522662343737670021641276532373760603012236245703173607533673040266247554522643612203514430460422553755321554575666051657061313537474644056161510510672564314745145636630627472343754525543244020243177706061433536033174301567361067101432137365427362407227142066210243533462662335706423035726316106064361617241022553032155143622204144003450403045611651570641102420764620510621334044262524507120322263147605421011214414036612215736177256214360143661263444734777404535366724245304063640146020021125312760113557301531430550043124646110137113026257765752107077570020567657537330601721155032444575425115137050337222110506145255502213272376370056014743121241473315300757164171203012516267560172076375365034056337245727407652034307005731634321254454646071473504602102700074404324017565514155601414750153123342506160377203351423220073135562263141451746577334627020663624213075450314401740535064032160024102006717762510301604151375062074145322417023415701534265131420206431271551624424271671654564653273730073507164234662002661756777456636362322001461720606645543630201764130152276551134716113622677251237044375155023014677270606775301056424307355564561203564357662006635577161174232431536001515203131370655167026143025145160350574432567041251311446540576311015047561230771752364240622254360113213515477446224004206046107261205316710761360244226133353653135722530766532261267554201411524271512543610652707656275422402500104415124165116272206526051616120064070410061741242440574666357151073366017742720641142335106473564520115235333656704433561340672155634061257634410564442314302522641606522772650513233122665604021712376734650010676567077275704551534655365200524467255623775663300137663001175340230212125457765204760340101237253775477234603433503603571531103336712774454432044314760460066166656426300327171657665251662023312271264733323112227473114176105474512352653545153367373402400730053577020400211130555645352420764270270415365372576124643101336725337611547665655013465640155250655540265173653271075250725525600772460770747344341674354462037651115273335176200121540226174254361350437772022527102454153553310677200660254420704746167523132332367571112761504351306415300666446753570050714260461105311672136017412516325612506137127746033752374316451363053047133215363372762450672616074456135214276733741014265471174460151620073603025070065544353715123762750207624654157523065406126554160421124264410344041525150550057612553250766064023774625704043021371221261212165204235125552745176054277404520135415362022604123743306236243545750134132163050502226702571546344346370631741667110773061067313622265037363666331320445260232363452572111757563506152375447212420106465262501076773660626450735153477330231677663641423130713610642636536543116167756370335533411152077335213333257217254512064437234522132745620520474031475630323334547527567177212206640707265722576572645124651342603370622227266630265253366644472225650471537336635030531570340245404203110433105365343352506637312531535045733013207066611024277060506536335537563474737044303742240556330073275564474512050676650563401367475314030320346036551672466360774543202573662415461625147506712125160667356157760064454753554040615556605453617052332531261134514733070344411457606201135077067156355121635174605361076303006431566312053646555461213546130102425052605412046102270557655142277037606665316302075004067724622652516002244010306313517747347107012202037465647407716662064677730203242307521302656202021514153064367435557705022055121117302642140027576554677006037717346667575155572514334534043042120366032311042054763644060301041271277262254123612043575620741006414546136436644060432711007153421423141423215636456255350773401565502412751246153533567426604342517607103342577731033777273305110071004400252214321710607606354017730200777207242766702724306475627070105336416501564474044335305505604254350413567215407643613757443355250372020175100574642710136257724122263744271215772243520567332377503324036756172346707561423527623634045721706141154441545324022166345433052767017570504430534275711310662177477541642200626261467733123312071314654055257176470341064110106536516526274624171311017706056666012635610540373221413432517321233267732735467561142624411170031644212650544560352317462240411000175622307166324556475211467732117353202626032534355573671576255666451347454155355034455227266747401155627700533667163065203220336216227227504556573464614552755140536067576214477267376644637425730513154223621275603700646067573224016110313627420032413220624607312461717372515072151700362366532375206511645167277467224546022505124122234336737707011254274722165753327041055363444276661650512114033765057041007166075300665421133072354160064534476152351450140217254114144533577042472757513703123311163146554662616650345114417661651734165230034230005146552456714233745625773363441321043543235502544603613275727643065537316200542517543420015400770407653016077366440161176247170313504706742076442515453313711132113140503042400145760145137335521762322733574520017624262543007070654277037152771067476640436516654634131202471227010174074775153447643307124160113222601645012546763111032550170734655022066645261342176607270625476702514156312563775722756717447727302756006622306011701531175727422463060356540432550274604203537353061754074232655153714636716123434401240512530242151634464243236357726050176244761475257703357040667033254606303730672071013110245567227770651561311710472151526155025026126700302467205333200133770331216753304056725320240614361031703654753557762050761157662705553237076422562641505467270610534720762557700743457701273441602377435502421464360246614044011305050750066125353042044131050750563155261071326264470427441532654340051565767065621333425673013461223024507341707515323663355540750440721416347175033414013403576226742575501524755161354363343457454175134704740751601050664162374512022201062550650716727707137531741447322650412170672325422035431300462754440447164660530712465044165372067416005025130523361126034650324131736274217104474107746607544033514427120677305421416442453706130171517735223511514004064264627761413223551555676567400342752067745302650025465461060256700744226270055035312033553200373027104330117723441155231740164004646676221144077474165135051112136515316343251517026320336641156755232377356462227505055502102676431274370441635406316547644612505364133557663446740245665325314554437704775504157767167462776130052721605356451135406421513061427140241742673525172026615554017313671153577715710576512251143216663421322042760314527233347623231554263514406651642570213503600001606311557114355377642267405343657461661575560313424565073030004142070575324423761445163142134544542446627221630745715172760773531623013767224533665464575746602573630605235224602177236124655153777033263536145563614045031045553625112727526776216751566117203476045621710075772150317300577412711513500505626631276006120157622307575615233401256304407727210432372616511141157324257504611107225526637716005220710552175243125713574170412726735520256174551046504304125562470023542732600554450023071732076240322455335713762322607261171616217555754216772521660266120277226705637207125377017606206242221304326562051421044133003535757515535351165731276574524012470060663045136451135465466570476422724300352371464506242600160355747534317636120656301422062076500731404463403255316300157545673023763067135260415105102510472042513445540160662233325544664720254015407360771330764541223202043651174756023135375717306235740547110123766076615357465140142510177513301737054153444325253214232236636301142760717554547207444771671352711430310477514041526313323137241122276617451266306034760442212412237216766265006506770742210352432703710540111176352675524101713617446261107452172253455767430732304177117675664462745413760455751146157377441244734541455356617207750154031057011066445773414253014452264175361717155202265745142621615704215110066132352564134151750255736125461626253552163542350000607370111534547461252161336030416234440001475530477332263415053350316011550023624025455022314521466600134743245722334032734555726532701766104035365765505754307574250677212112051212366152535475754120660477743563763756325176565054263607476423523260673176707453271450623256462510576307356022106276245761226547647250623326305625432351741224742250277033427143475564221374745470570442120612112025571415420130271776322360760363344175623474121434041477555637413714010127637274123366777526654523132467354314717676000463376714521000237327063075702764142450042376673204757740535426027324146411146127476227701342015141653515526503336550131165557540204126564156731626224103316632721514431524036645416002015500404633527006052313515225242343505555723261757001443704406315652133010347127632107326511622440140201362472642011231152002675632352066552356210663645315777303462316715211340432514162275274737217144171351375211600131413676701740767612331504777103267113257353146602644705216141727022115204425173571665266342445474476047653031253112425406753042577274162235644061644753633416512175327437211565310374721355570217031600463647477551011256552607276310332640427374356620325566201166226776726271011607736733514346146326270570625414132533562165405575373156040377346174731752244115463374450630074551473431346013504453231564543662357504327436451273751116417572610016636627045657704573011235557440432606741120737645111721674032657335157350432430052750623556543446001454253561222701072501575577016625522347414021450073315741223167652033403531457700254466627600727133506117436165544713413000516707714637276076671605126631443320515273634251654757451255470220327600202071723351761672630456100101756055071212651104404110414422352764434733264713256307652337670622642211034074362653177262627224340204233537477157575344255356752520723411322677650657743602714510004447107723041470052074333132123406321410364130227532073022301237356205436203244257435147674572602773047062302447371277626123020231166325333061204135037714316373270466554261356337476052421647160333134356177043755306212133222102542534211625470077432612601762360041724502703251403017620163330126651602352150150545633721540730422335636347573464625551054010277015672010271660544217060643725273602475263746105657525542133452700735373541451636230354474505173164353566637664751136056320150453374673160302773574007176662753754071131124515310546366361164607102673222775215340526035364403454014252145050217231063521472055130305675315533704363165006474220411251326762736063372477162737125622017031417160163404115112016234643200312720230326533672775567025437073233520714024365341052112107077352415066104431745616375414763577402603541065503123251174676364171702003571671327540414235311465727556400201352765211555614126433462756757625616460245343530462255432776306410217023321303023711523463330721267723314564123331365020703773337354750061536723713527617644216046446600251314271261424504156246451760206702467240403043357670053202354471325635722413730157403113507312530706442765230613213306021725730210415557524626055455240335227707151435411234075414010751546334353401123277110221403707553770253204066262032535141110146245517072364040177010503615570514223154760614143631442021542607216471134130556760721353000025466633527731655717261321537031234222601601454756303347323573546676662553055400061337234124402426544322771214126704447521622617653071520226566641326347737517334254021622017577743163044520447427015732274643033433402227171461013057407515236277551771705075772773447274765414322721571513727652720730016052661653367124415274527735304103410106754322205631433165100633052441441647320064634063444210074314163523623172627165226034163161324235746035737764541042272446245101224534075225074007310437351213101042153751723220674542146111066244662031171711261236233372101523221646007314201407356504205373051472351155712553176247107303545127003170434476372373067321767165506061776406112473243067061045452115140125025254010234311430541431414216374633163002473161042304135264541012273731307777051062102137216704425541624263625164121677774334454302143470741472657600300643403762307470512674570474232330307762673120654620042435131327506013465242722355113065624220757211743355107476007141676223113166303547512637375552056503626673546256341466417302111402750173402722030202365121025741662544712343314511761234015217002737672722203361620006056652355313136425003242250275607666340507121055714601616550122473021175315623042546566156464020144743235537543311231044240073320113762163250552754466111317356116773735132646010117542345121654171176731155550370330034614725641532134735450351373007457203371723436563254317145763254464231544012201336177516402014466635117472552754563615313571217642350300214620352451404041407363215714043204465774661302225067013515617354135401271350367757255227334721646403272402626041446654154707146155711143554514032317132677604021244263005471035476555376260130356702575027576027274546703434305452227415252225672066016130667743455044360402315031571445654275557624624347536021325606452771570367364060611262606050521332721710020021647115671035200412626043475665111212653773763754646512736367615570303064535064321214032564170525561400742041127665545036452610365133142113773011326303245142444007413710307074530672417507741516732353132510673660417756721735364457625406460542055216511137046221632373666036134123253145551126357772727334512305531533365310644764301753225514067611057363667622646022567272665335716621211570440063206122364775265452714111650647325320607634676432461605672501671264363604513071453067634274027624032164057200371611277212200254147314735363627444622552016324615352020552446744470214017211750170757626757526420520261745146446361651546766567627200454037204035414041362166633350157523170370201737231404305116677500702103605520633363451140755243016614774045717761172727677334602501730465763667026156435753355075145523524043112447463025056354720032612613302750506735260772053650200027256403640367640160226305646334174621076442430355050035555655264550412537323644407750603737065145152753050053630254705656624071234136151172362611657407205017653445566035203347620161501527156042525307214741441672014057271032025336170270742763675450411236257210017232741465477265213334071426715030014236112056776355671074554371503022723251037254160114063341332346240164031402114120771562621751520573271746604572224341372627273114503652353462154217107733153624557532171636752531073105173316601362407166553156544313103222745011546673746144726543706752207707157774004222517540122541273343713055443260414720042725354534235667331645370200366042320436727224606326725204253662237566155570504015323763430435755643636127233672134026670564001444667513656674147252320777360005753573377716236645673565312624057355342165707601126035242573173153743774277775306334231526336133207615053213244426130616244560663606671171165601103524505562651317755422147757556043012446351544144663107331336234343100267013737715534362560676543254261563770340747401565351071462534375652755375534321527737171014532500317061156362455646062054202701426553513216241056232762461005625023724010464351544275651344042110041435311117164302205014430121447143113145742011436707242105150477765704735076136155546255764156620433342174470312542146103516017777643616705646116245415706500253737110722474361674402341121273372125073461507425031127253730737407031611332002145324135024515631262233440421446073107204446616574025365426613471672463441357357444243500123770655165447114533313705076671633151463467606557047131260207566616661130007446117757174252541257335167556641204760030345675010150032401302341110657655724647710663433347103674554661563267145365354142666611755034555437003452354753036261504244604260445013066370376330015050641270420730401247141634513661030654724057760715553731604463623707226717711611072435466247502721265114256364073451060012701407140165210635737136454605402023373063020404620300121745066176035541270333544700360665646404440706732304365373776272377457311333325225107511474425515447664620326217041112461732224163477645550607035135657755152313706777764537711653730014445756131513202557064156614325717545755561076432416336066116660103536420243411350370643431562174604267301632750054317062563733363424355433536713502523050762034611733326706200314763637112155517670212505036710301671632464013562055720313532073553107473244251252500565151550651725711140626026533012377620224216323140767324535177446113565610573522066504131451073421562243014676044136042024100727307345574364274507664246311347174477010151025062273045375136467613235606263622725632103256131723374301307073057366442735637763334541127117343132134360773113022650527112257323302476235736612361303027107753501723327173142605513525545214455272506326140107106003374217550713564067445726573434071304672375106143240354011622722204264037765173622447007626166122507317746362057501152044303070030505650553230450220236465537041375567557066331526467312424427527435707762230575704244534374443053146571015640461005101712133130573442726250124030265107114014260046125541041600527161606477252603755475222350573723262167554502220770641714477747036577406172737250315775175471602224310074101727177352561503214427370625416156774124003365762465233271402061200522225173303742675723556062140616353162666122301202715071235460120724006205061733176727615167731441512553770000541255216401303566325104473360345556147530105541061243573724771076324464707646704023253764101337051321233057033544762050662062372424617153506411402303017230102175161246751065757275576544106514461054050525261630317326647216633332211217542432073641530431370301570243671134740171321446231755627537232272647663532452111433045600511304153510706111212144132625576157565301715341332617163170335143575544521245164030221757406200733417755053263504642232455064025014714660564173676550223671523671321242203675014520553767500430026165640145144433443441503374270662430310142353774120750022201675027022774642154742173543104076277643504160613617561050250352341635561013030215617073352012547344710706666046347343020322601602336300451330770711523777266431473607714162756237504470657057575571416270025456475065656637726174773051732520471315442646245202177557006145203356106530627305005011502164062562201631451256000753453555302632522040401233477340607563747613102374114300720245323027367422037717450515010237527163306365452030416050362320200452242747613027671372743565644011176244173710121313566246444767767645502074420066112020321652731361255565246304217717020334061256041237077264227355620212004320135732342074352226273462462677453100260363000161432535573326123755100764760252322050574502762607620362542572047366067235053440277100014545264463613746014362364202547530750005724267607614400763770321132551774462046006736340005551666021317015441057233351605774613507720645171547370551564475116636021472423625147261442065054170062254275677654761637123505771640713057554567741450645414260321613341674375657560673424207202246672564712620145756621367567360424055105770062716561705721775025401422132001455765242671166103576473715032660731177755051345245763426050675546366403443542415573130263171403521751673071016002275700107762247454504273403211752214602545416627412471645402505272261031305454272741614644331737422644134227441372161137427536761076415433514316563614577404477576016060771125443753716567315126150064750725604154004622473701566535560055465370276217677440210253015722174366104063364241217703137552341076415006647455526145757107103467142171704610263346543664300061121674372221607025555327262074661376045662264241771030076150065566361657014364157552635512216533717152651717654225501457032511624056775470515361115456776235424417366743553324544521717342237122323052433260733521665727376432603112115413623560512745353431140634563033431222660102360357352364134704277655707063323673503435410020112065076235275075535060076626732713703320055621655243230163023323057126222607203671566335543705251225506245403306054146461707177112143445053104050074651567465026727225761221401534522375066526551350215301405654526343761472325734671134776620120551471674310722715243654513776621174437473137103611341165224627513570450556634321220552716635530023346167173061003100522067252273703725076400264572744237432733527705153651155246741153775235143534152165237505770146234677460177535504325201177073622667632165736222202417513137320377745114622605673500467524341310762350133650737600673512170552362176636510041106300517416261275304327705040661521732502404274270405745703373312477730607650517325675047267366017652370156142037542513233602136075100523515234332545063334307235753332674172434177054621450564436125511735302644377121376675107661424215273055341413116717561345247357777223036275407721773704631302773331730051447671750252570675776714550217437351166073737060277407044354256463216172705000232467072405452570140417465017112377007437304570053762432734245221752504633676607671274611157124144745662622361007230663106405140445253574661630225621477177106574563336715326321545156277336067247550126012207130100521567363610003222265455662731421052732654336433521263124042413274714536070160651255454500671353140450540321777001317554414140103615211413645320313623075401414040305601147133056156216167165430007304157076045340047221305740541674150250256672403103173351444036654063317412766247346100241221476142637145326624125613012212342671571273200107037442725351174414461204306774500626662165224475536644451212516571745143745226210755426727452571537610231416061433601222042571745431651257730452261216107267271255466721742662674413355330321442055165252074215100051617217004342432255150366664235457740531743437026471113543426554212376241552437122177341734011041355115445751261013270261551124337066334712013162566452377463665324472145647411343554544444516027512236000101211254452454726017070103144250367101555357756200500427404405141171210100720255310424573732654173023334226330345552406314726347536066032162677037573761410304731100360761427062055263363560247372516726457333554246120420015262565264466160200437670572405226020074763726606550363020741220423576446541115264560726761315635475665120112271115010447530503472321201414557507071335334425056314153150604634641426160115251162557676563000347471621207623016371042073443371627202051642065742643167446736561221464466210345663610246307347456070702573665123627113160666757157761535763550730531034573365674054675334672217556465255343276266463140751673732715717604726710207002506716077160472461554214001755212044256552357460577147677673252324077321102371231635137563254547337203323646500050127343401037675040501202234770273113625555011653313203536202667335347152511366722426006037507714163272571422312374103057032763725306441077027406012053617506202550241740527616343750230616272515514547431421354767364377415756257701051317110771714137123262165347076002762131662677423211066463171530145002214643674460656723411536315770175213457627077657367744300065336370757132013467417152265703661710371216453231676745632431130655656430430515054522420237421343056614467764470104001504606066267771470274744551160636770057237126405133214307320664402532603556013113663714402434744012373505656342111055072761056100467744611003073016625631207771312763232034513043647163653153076135015625043572532331545175006333713541072634030126056574666516077322721311401546657756747547342472752304334072076556647222120523210265234045226472441116771731256431325160734524340506411665765377355713257053306426745247530707277457435737470172565575014446103133422047700164274573166213345421055277312612220504355621072174427110617472500615735055566316365264570745264024535322623264450757670326004214537734405043402410355131214512052775255442510660010462377200463773012176636727251500052754076177372602520011402614761621360761031233362204324015515627556314075477447044505646376243030500452530467662326432454222263326641423317007351415326124521153122042021765774237521003675776733235110552125674056436435712052025007254563372204252200731140450513721450577112534511176453020522433412534251250774025474034142156170416115467600533312422213006777271176647016516072135600027665243365517121122334402774476515674354147041263226226041033324071356132345712374445544121037534316475473352330427207701725306250725347203240147620126016305532063523543222712062024065534424707415507212716404220173716451433015477130677420763653437451156120313260064136740654517101263451747245117075673256455736157571253135137500725122534047457660014650357563672032672472727052756613251124153007516401755277211712067664757260162346606561150137217227063535366644365031146156146034630170443334023473442320666453602060446232275552476626061525027330101061347126011542725677345452465373404020474645534213121402236630400460571663234320734564605205163307040106036211221733127402212722222502702515327455602615267224150675275417631410636262215141241043002726744574342450265005024553254532164762034666642444636452522044555426650535431202204613635231036176551756763335623352052162125344602325231213550223722743444733656403475345206211201061414203556360166575106237422411055415327534404535061772041412317636276147605130425446074015162765020465711470653141344327253074442107100077455514121117574711104751520703526225232473215314223436155731500746773213403443106113270613014752073406363745631046327520545111472721147237365653524751727547366435100513166403600744452306367413757440254664525307766557736346321300142143343726767601450541740304467454400236762566341272364506767671317123456041611100353667513273302364567177641005114403747600302144441013111025316215217563567276047626333567514060557476373572432402466517260727561010674173745715147205604557475624333743121671663171662710605506512134021771051365724132547121221041644756165300743362165000233620002422353337433755776526716270334740746117700236774002742564044364256345410643437352205705371055417556212351350756516135721042711740560720101562112536027677013375014564337206500257266460156432710026561275042226001362257604107026144341071661240660617550270347173115571152257667046151623524043701035355635216410332334467001401170566774646471440223262327432314517512503005436173457337345205305246414657032333700347504447724610735176022671721625302272622440224211441073164655733037630556724535155076126301466575733777010666343046255105412731440227302122764647625216111020431006510445532141517112113615512642444141773110640375220443063452762676206706642641355105021454715124113175207441006715402442004554601650235323116660672410760374547441022657707336320641677625722674654742325470302025313427130376066045226012745330553042401442655147665353257266616204200343732516414267050122243573512061556404470535327317620053503573743047412374451673223426117077455215407126131537176702517317155221003565424101320363262333063145114464704536153315700470530217052637616637753145125504316620150650022061572273561162611365154760722410240563451202306775165301161677711774035740523707402045577073006543036321354344167405565311522320333227323175363565777150077153202211270066264221015277700656465163743434516403603124033441404575605304514617232765432643737017414013121540562343257077322664770553725144063333625137034214513667444552472167004742434651404365317106325060010264104301540242364107744666347730371233010241665463476105175625136414756761202123470117416624513120314604307261615772575325236567130615456562606100247537006554071412500362103574443622514746360234427433723336551042640034531072330335427131247113653647244376365442752222777220036232704122357504252276574716073630360514121100067534073100464351122603405665064571351442434735214274065100374161500372421570766001611365671456076544717557732353534137447252123567557233534135063112473432246455435641571224516177531050043450672221650423721472663655342170341312260462111174135574271706143013621717721761006644165011371254113072116062161501517013214354174130773534457066015327666773465134534304240343201230171542264535727034426251667611632375464115575543054475234325453557052027441707753653235262073247614536257230206416703355417340144741157621315643274402351671705565520347237031300212661331317757456454640071722661131110405041776164127440152364537651451473476504374156646437513612327621122776023643356237300261573112630177057754544406673157401417053213533327205312306162531303646276204573104112626002105466641353511367364405632416035570611746305140554725352057221100461544176550452252315115600354011357100043041464007237524270752105533211745671323471643176570164421253027644711117702320433121000310335005326533162704461672267564076315242622140662631116461315744530565036721360777770746331103316112000566441752160501470471011076321655053423637757167435012255660071553063167215155165544642670634150313024074021230663720042655220451455010144765020634752612654767002607254513120003622461207151060717553633551120653324241244006704131047302761407550670337410027136302375001724331321375350644632407747277100666341010712621772506355740242735626024705333173102256501354733342651244600307752674335127012563250321017035724244211276507015133545356357251065437661164224775115537663430227406576265512210320066264742473030706701110116704025270476447276402644350602743252003700746746566672356245067531673557223761210101311212133050232405015257725437474463553205533211451445035405664256376126031455346564777076110141216300607274506371667467405374231755461762512306377101150423660063443212475713353365335427565321551177074466622251154454276517711742074032234055172662767560533014107663212010302346610175143337260047404712101453177165337001322370203517121556252522716626604606373164074301115142741554030432124331636335401317571246322263202573266404701532446347614075566725726602704046453745344034166736125624360335177333006124411257370320701546473341527026521510041634226357003300410455464151720075510133147102001572554215171512104702740137117633503733445550021716523715526457012070303112766450153164670710356713337447226125057217130136510207251470646521127061166137774742037331215141472527072207635706615577771411235402226461713522136307731137660657651513666315271444777214162550266217624215110245224370047357612050051350116341016534402727327532726047125211410117274475400161060060106253005053516460741405661262474423004341522431534662505465335006342107667346406550072645140542534662246350651626130172654166536403621643161411056672014151435035567274727327651031711677236430006266074076062157010661417271617571401110601720317737240602417262044001244515263225442116314300407775462004315273776602243463410364057165537566004422754100175211647642257145733147241406640372167713170521311245362205137233051101176757245057104230646657362304624271315631257604551707767711375754621243747526321312652566161351110262470103771560355746310527223736143240627342245330665577176772065424567732633127764410626127445126106734460552310002361466304312732175625317066412414202703157032132012730777231720404370174040726231354003362443322502123144764554352707170243667312755653021030452446165551415407540523632523325651744123565002417066610557470554120621705327012241602731052336014272111036703630775460541401133732505124742406336224575642016104676251046773046644004246433730740204221316147146246435034651717225221067051751012023107576002147014230126557311462015534637415131421632147721355522631055160466101356241605532420133305701024737704604643550500355023732611101575624744173274200553330270417624502213102135625637524134661105161547771516521072664373425371011003704651266141717671537422310172663040527621761231500376515444640774243221347301607051154321723775304340314602407404430753244631562275312420616530514101532511436676240776767430262130070424635507377370107513432724533355757335715666124055614222454322506340526200434664566733617416064523002464642656176756621201403101012156512104125274261732264400534500160764315337755543340263571437527416223227261746271736057236641227423666372602106751606762556501613140415024764023543466365542032400647263676633046252223472757213600316306022435445116472106201407525670543076223216107003560112346727222667365165216730651437401624724770066077570255364362531763700677062237244530766127137135150620271174235666210606141021454651133517736403710427736430475156703474560252420765412460147350501251167221524374212021171530606636115415353023056121044600454133207506277135522014423076364021017743004464120117433233255312335146046073054743364422664012712175247612055761517716527153536702633461271427513236350412311220356063053745416675732532244064207462025403064203250667703631703077061757313327706614562776324276636245220424011043651603422621274317656052173527327343402125713447355630150706011714061001764761173451363262533014406057030367761030432241175716612331450241105776772124052731110717245621464104100650705476552161235466511624006345736703662272363660331261462234272440262315057262232053674360022202114137471204260321240700556707545544776532316432471655357106545530076744365442575763562100437522766115432250610265720237101763321342325234345564052634722722347670250236735711101254647511512576212640343131611732617411717734131146216121773262403336671760341120036522757446467625213173337146551303426057577003735360711035316663114074717160631567671164742705433217235104074272123777651444621240230510302472271203632616664770771514106362142261021144404465123511777472202617255765645156264032717244355541270664700523431276645044572246140201302216517670667701000163063555275541643710226414563621621766643031473723501741312606401130030353410024021542414051716264271031320240524274237707524470522043255712415240212357361737344116266750631623053374623525571570542277454617461556737416317061260663024643052647617063072256610147610200055173566425546553372655217412653417742335602132723373567120130262674415167147333446554467633030332472606622027371262670547742316771742105356752023531426133110325123006543342361153243763035615406026023442270043051347470005747325422563443473551527313177253652517736616331635171631716706014623063765423073566357212455173726420232340003533467367202704355651170656460653057270400016215516367161434171424500776374561760066341435324415035416626236340064423274514677565613232241347721452564266113323450656674102730162113341407743170406663323046361141324602011127505360644421146506171445702367331764137021764267636766053273650170465154326162315330072617712703764200424266762070677747504526112323205653762566536410740446175343273510314770705137265423673012310663565145047105457677154162611201162332633556577422277320067062535124115447332302107304020213224547737301166153270517033004233111136036237614714250571227214211536132023741502762030261605062516303150062515456631157726772207001305767715444613301425124115060712321032700566136376714676125531757571742062710317562755450014472366653443721310702117211772432136040102512642214270545762425764647571544517114343147110333161115317626303224400757672556463751433611405112006477236104365013641007642415144361616351526641712526650427447707234440161513556075766313631031550516411100654656141207672250745524031036042057474732464747535272224270337677670543310433612775724647561410453332724520020060114545324206040711036363455213456272717625057035251071774167573240451153605524736053223167320023732246362553165557741720336343415234425701340171304226123225334420475700104270212055500651745475167512705333203546670626020447607217262523151133246100024242215326351231222052334554056370122651317440733502060440664547665042424452210304672731035577462747266054012451524317330534542252274740614405625470750425370432456060755323431523440616417640657627057502776030732402726776517142314212060641554665127706254712127675125544155436717702730137034100644101245675276470153145546070531144045040642775517602757611717572067044622137101263036036770202631756353304401374367360751274622061533174112563704714017550300073024240402214765370235450060443647105610122113413151261257563325541463653506114277624724722364135344212474027520536777642505760576040577076646350546217014673405565636113537611110512455135725202260555740134760203453153124123537520636514350504657432617207133026064730501742753700521551047612762140677071371243107565252342714171570427717502433627652207036434164060411535732606502737702624171451402452722217431644313637716607327504006110433415116031363664262533602517077317462172226146577057631767317274031064670131275022430144755026656172024642423315360526121467116703340223120655101227030604125233423353022304772065743045123105156323362664153731144420147154245160344126740343100017756665301177265172422160323511562475714277564252115216610442230552036776047566275604242654746244252756520466601047111035357712260061635610110560607242620427217644435057771554441320504417142526274002077750121022000306604550421052324657502112167050340773247612565023023120160016400012346216631246207222740713522722555647234706555074460744433033050773361255351064532300111667140101107563725546131157154463342232206616163376443720200311216065074405162516471060036174141771052133431465216010524112011216271240203033715225376303473106065510547467516764371645121322706573506624065473750653660257735456131156410532157567337571612333303056366753715637271543163323150167731604342567353135400050354213407207111146510057104675622167015436325167147361307700000560704350547306551710345376520203334265416070415766173272422027253421471341653633242520234201743630732227767152257213655310632466621575671547423342755544705017652051644721430425461572102101556561377260034513051543315222320353404430623131461440745103543232476741044704473237741547300103016525172502213041104572754077636150413737137625772366173334500510254540334461622143360415114471062443152052117164444730113615111603761526114123606471356554756475553723446036006237713534572435674235772543170615320473634514257500074311120230755460660342644300330733425611446541364272453316506057421533477724371743177052734610203205514751767662023463675754676377270153447007611172436221154376074450545755574344226356052020006426001502332222252653341331415651311540454676246703573325470226657061400551134743613210500113126320344000055200330520237715550107231322765103457104716250301150111073405625706207447304477361205676561732136034561631067014756442370624137516303465060222061656111621204321365263534067614730222244346776314060603327111300436725353604336370430625457721067510276321227421123341422556532525375053131134530250333174647645223726000676656706263174042255213001547321050735021267445357231533421671066563714407557207567657374242342151016056415340456546332143015403737133653466423552013205440722610746460664250627362507230262016372343423502045564210600062215173243302163227216074023323664535243326502262365406610204726072363643340121370262243023164751321251152715512425346247177343347762016701134321057441550245021617432354426013347162576117730664266756457600053020665543740647047265342300146067501373127556363437635350535122635536676605451203572011041103446231245442325655641241610340066635010356555216015563523145033710575473753370327223235021564246537257636453343317716477547251173570775243070745402524760111412666135020262467041115366674034570315400143605001747024202536310013011430766656337417370243002125071362715642034651707104017257762050065452622431767472775266653022360164410261107467174706123064447266372764313432611477274257746753470223004240713040231571325120037775172512705772361046253355422076151107141237351173472561020254033406255454340544357662520057372203532272623503621154067534467466025654703121345731766363702637367013072544133450102411005157345315473517535252470636302244542704622226732701165627420571235632036371036560433214177032271546630110641202626424540461225527331623550775332357121334347332727157224651007101052370312172224703063036213161011155272553057636670101746774221700113522461354566625513457653714314475057020405136660431260432272566760413715275120041375637647050577153155621561571362016434465636337166120017274137666770413643664014567114167021163357406400561357074720701073536536126170611073723636710703422127725142154334344447546142163676264770766206375532234034331260002445631420740317064106601355434503501011031706437651505413450504600247014023530225275432311564546552767001103747152762107345234642353753731367057465066770631532507774121521112364625267575772621402174741060140723366017316374276552263642041667600301535313736601243062346051527635707536066276775526564140723640432024161050557733006557020337272321046545554040040551367415677447327676270524232072511052546356700303676217472507572603402456642110676727756277210226167416126646421465464401523376476063777071625211022247260113374054076526267535015364064740676065165027542047442613521576403377715152455460720147716066056765141234137750256440740715774060036273225130015467547744206177751130447672303711573502622130750014721340274553031142035131055413304607671425660653142471567453517037466516410400514070603261350030574323501115040171534551716476270722170416010501074421656742766544425054324677150104672041042075657513350037464305070350270013651771667227771510052564433047361005420313624474233000113532152550061647534411146045761561165711023236463031761270130423433707766410377340066541515356421762730126714765151704641725430551765352426473632351516424170714556230201664557216641572027073201641204073405711621316305060715001755401007707474033251560120305042313247137454134250757117754665420371045211077511452036406700401576736523710267016047357462056572700363201126173405713744541511247150103343361443167030354736462145160456377473270416026670743651112242467414472007550466456570033637407137451046070503716057101124611326705220303124530300516651371503625330657504011435312073311504006611655702044161122255155270302166603266263525622474221270450242005624763327311720661075324152121633174615063621632664477366076102126057214356400510343462260421361611737677327453406612413411213477404644224320362277510670512562637063662263503246664742760431046211160352532651346551762347517145470343003327161553523357537414531041453644242650072671771215266013445245132136712371750515246160071426250214433214004677275131430416334264312560515320004673015601423203360732173052654641321035535104616272675124304611237662147043023473763375267442526420360253405776455024156601624221240353120533112544173120012613161217127052601350037146614401477001211356252773003420664440627050206666765701323202276000153314664750421375441256172334066137220534200774421327035126067004605337573346375301706472412356240353574471270225365756416435750150362022325400234740535302250413542442047700526037107167601165322620767207413375261312616225153462216342610122224417025617003514671535055607251330212364556003272004413340471656712423512171723304301072152542100002663606411740270020354632364022230237531540430136525034410004315136701602133047420203476401743556116505462707024353776625443425751525037175701453703326003741602355037520065624216552670125354620404740432414733103257154150464666073742634463345753175552521014470636650671403003345015062204312246271153106402207442541137247726743237375271042060737762666451510464231673524224516205621272463257565722414315207437074532511515374432123175535176270003772301115717177360712731720552276320663411771717576350773143223507106707043051637742357103407552177542672350175170417136536504425763363022131557604517462301724046542147376572671407164603152244657250723726726164431032422777343601564252133015715472756344015374644467052655411204555532725305030153160152646734111644241525031200736631707471620772667565030151630532500235526472707342442432511444270164464415722112236271567513052527416713377530702703756165626513136044456611500175230161603645433321161645116726006571125603267002170217733572113311550132473722436471133256203446214327723065045526001460452255427150541732161115155555307641326607777372732515525514247703437363156536043371112100106775375641755753173032737374276512335655020224517023662216646236151125746314246141207447627064403601020071736354233376074071643467512462061076542025304245502221116547275677712465052455447076775600435025752647677414060244745136063674172675661005545173312455074244072310611410453277326433313735541235361426272771715101343432212215653506317123134754614571647077312533065100405063776141430672740663706033567421562030642767530567450164563041544205072671455446736150460736546342141507434365020453260643323074444103100071210061134235233615022050417514412214426701105452512162406445463174130420224310300754244336743765344307403075425471116717770112727556505126101475003140400422526257402273366032630613201062515142202762260545377537242161773600413575372766614036423320651113730522322761206764442212143125332044265647747601340317062425031666326017363503624060252345573403641747727520701346765136570175240706160136634706425311315141631672114042056001710106500373532303334030317203262467052143407764067230464401662733445463031237153766714560415474504261731206310037012721500643400502040156377452206034103227721441703126450360470336032705522630404150625633234510505635635313515265676601672163504715440055437357771354747446440031436414155133074604037502603245753222716342274455765224761107723320460315765614157726021350506167333513424073507375440154733763423704