6272805216968087423093306766227721623075351260853289675968373724949724902022886466712281642491414093396472432900590383863162259467504131668843210784702257800760917800275655207502942738657655127545993685934246245460828793892797069204537958806006617266118892841055875019312768042301136704014391945283431955666694184757982025003681921054173969661004455350739126425492717901999149768154011214986178006457197783179690106596659602793896097626540440518826203674129154184509561698961757111413163099699243082584461684000574770095781954962683758000556300375711212114468609594302742822265863269800352630558706890478170745338799020764752479527307863952866920727778375421550850635970426659694858840972848952686271234257158922965013341497517683548688480983324014040010320735096548275739379544878692926365664515806128452883453913142455423956403503258083597056565641183351644686784818561912873636882406860465539337713609800942159560534454176571746867898260608956059290956670142127488732535436209171441260133862649764888836102753362864519895147262926324672948030450613766630692820439282716087332776084231158386055435425855942793176289611328191813902545170397917136238975934903890684144948667509715832478590377029692583369352678876478803372371373803357589026153721668543021891726145790421650755574046682613795762158745238567386561363650457335372016333694727058262420652873718119862264122205498677277547798375804360660729880382077484058884162052319569151782811576537797058184870761569739954029888519102821223714387288772418626596647588434956108482382156965013456349381192027269035543693973855508771415678266086061375030499961541186979428713337820316791624027996534298453340053116363679432143782802922590510460543811796908788942029752696506293793051598443066945090612218436859872217622694373527966605443568540320842933747163219713439879865540155605831718255108014740666433627573373789220642361578715551371606738448096026856994652318336292004237010516982199148397285506057424720260666916187050391640401835016553945847881738467672217457346672472228668617662594644638164342172408363144185180778786798721572405126296536530643387595188144229077807089053705458644805222325100691230104015133424516310909151951300558585125779458690691625851871231727047864284464778661594810406918778685791068536708939644178410815693658669400836183835142723968861813961941238960386942415635891170462776967483237301616233188122096128291220016223409602834286660192522011054990159665649146139378528202296627776132072183681391587155211155553989724062915047226445662067184660632889349740871653751056214802500086331672147511777708290991280803435718983581557210913179642307226440781696044993101379992111088950895996807696849123381325754652795072435991275708242476744282361508542521462965553827904291472423413316668024684775171681461781664522331494584541381124173574111996571718498533136691618865941515961230676386646610501821493356062256488291928428940391825819269718584170040005979118967796573680028654964465157091915876703467700917375715899860762205823810390279512275758692324280316390912262343235193955493595391740599162295133823827886711302302166963787674124175378145060344980908741049383945009083525975383883388653594972706028716133493434081625064130482174002037619772771823557499771903364780490614066214891154163409165354600336130437083861070856579218463362171028137452334455871834451724171798371496958051957129957260044277841478202922319223000814778523205096979688500151247872245362593865247335480845573646039328246195632812770842991471196796859030542109514867497508513006672204102362556190885534160944043855692817553355043561343816903962818005578714675308712379824274805635069080636963739016211697403480148287753114072727105233305635497315849655121149125881905742394282718624413753277164879193007497230356444720170581269318177013290375680644459489015984608859906503504617378508318466372543440704932527636017166030615217277864164923209476129813290738827365390827396061911426484207003496899091361749262395428091165291806213157462637604685702667539257761071433076428248255508105449107346175579537783207932532793742097513208689210559027826531841600700273369988306773184369666506151355088314720040292049615333680597720795636957402695254374241386967297413920092418256212822489548730784895415872694339073095393131874614687609783312736612372906550782541293961544614325076245457658166160848193273143518975989815602688979397495580655085124169708694797128836235099146723513700789432965244867683266784372772277327785521514639147849058832531756963410711804476152009793858159105141456880046873236353751713493417291988476561352347636145760547796629782304871270443032970075155874960495451021971916534689927048847806998178797046058581330684567836517621771620914813529405106233298101359420483786144221506248060222574620215664226140789443286684744470462402535703882180236831077695856862601636007871328411575780969773421672919994268720095703996170012909704308107053715881296461531251106602024580715671851874592903082145349356726332029008647198718697917089576335363414512868930997037821529702128665814534485660126419820062731248166183171811774796664816562003334313468958820442928125132425850216280018535219868224876294965570747404534187540650493032777676730536434915693968885883614569830573654818600917703524481277001553209192183898382041562700372399687120490668385400969830824544585165060504053989115503259575014341474255061014465418068287173432480284360029519926000580606890372167196119904617419432372510075242147617512299607850962655976052464810615280269758016859245885584350915994499642227937583813023768075021606408045665121392604371459392109316089920078517334845889702624422965240157434329253118759135873786807944730094141876231759497193624840247165119239645771171134810243202019361782367706927430542198218431685994172990371630832381318368097888231127366958778441876858920625021466316914915678589535171138908552915499254873675608956384001180316844693058794790321722099480067398034016133958931476526911475768293217751951635654992969798451502243512826177232412291910933913959853276110754812684760690283274060664392394911728789471752417784247638798954310429134761523976858624629248751310413809190270039153874064056020660805522583643656230722668406909214514392043135325346817959864046860482440330312279454802609768977867315571736041068204555149773842332891436945255099850274594374686106532156925998337210064981393691432067908137547265823966497300753264431108099491802148212061171257381735308381683282344441455341609411515176294461663185151907934222303543032513486112786161417798853543270611182975646341234087838865338314584116893014777228041909892348761972376356216954855255415208726857834596815611369273851848912419676059043096646780582017039374552891401396168305032104623302552146614945488279080255041504099463261540655958713762001492871740235391989385227126214134174462847146798616850066030026541194315932450793289093736062572450966185533685697967019366912993490643412783393813794582198810128776942597234344202235738126321586172747075245979887343937924611720272777042864542144479730781890138264241614450976823205289695443878581814317719275753898603814121710065970480752082938077825141799974863929937919085460332989432987182369746711667819462505803726963769693432524565482663101050922314141244063462132126447323863051709307081159834472944918610973712771354672113190994089290149451947342337119353613026236188066614743086678734384488944894090576643903890723200562667596862895917383126867422929460038245729768770844384857410212581545048461300995447105184318129516762869470871352992739006012402210889614411924864674383341850417908938759648395121422271024013492351770738704577310739437045353576511690641015608345824658438001476213468206906090624733657331050095429152094575889517812435740727258135255576735337648545248557829295368479436770461794420699174456231292657265141013009380525695164965348181917192694813975199605565901122409941476594972602052251710438029536314586442867829805767075478113231213142516236616659210039025857497002964776933316643951799539576234451931433853638190888400531970177009093745096350855030267811421361111667291368160367819292245298333234417297766365675079335187569335604147483239288915590780213371532978990303253762766550619965300606901387790916886872858702737355663169615958465834869333748354365647783316086348269812717059033462457584075778735580297261953102979594752348010099372213380054821716864935126384082375643130794089854188092499409381078333210497960219228916046195529163807121450733151811168763426306129462153803168943840309053876635400864000724265487616753736915345448442971851850477391923089501228571635811993525285378779790796321726612078591296121273461914540461250838677803273295155871133584595832044422300468184088575698917399054083669839333346847927599048313475530496949272319030435289003731066261155229594685506283997692477910301676728751158408780034910504547091155699409741703984400203590791916936203596049143463871793263785824636157496353960556786729748496704202858712765662577785061638702626536917661155987252340073499648862308346088075357065741522052133719357693324872776059262545459161964060164932088255256476413799207091631146558279799107646788025745940042600683468930533577648921013280101475953407597203542309867219301336277791158723718324742117345690207711405193899975111883115072161699299916432945793882446551891688116849235662788906342072112992609282053626168917532550958489406617601982561896822189361849378844265116036632711168194335670586019548948802953694836797004392430419652496392287265048437685592576595132578799369255778536146222415479576530591488060206633276184358313522293884267940875151928350707421810270461465923664758083604496629424482116357349229545944805322026447727938014786992794498676254663897833110916959066420133065774138581316813551950358838264393505332951405951229821815044254901449089678045707180098548765817719807359541618026412360056474500917779018205436373836775387378778321029186874306767968651208397049560360084750983565258916959927209912965208226223825895382840061452866892283080957645985989248777220354289217289626296362416304532161710779606856272401690079472473163170157210648155368369313611618834701039430864780677387059779985578353914780927739358702715276699612763423903180463225850209814119773002621532129002616868487959144458793060643568624113334891570007645213002275701279828672468645279331139187443867040567433430356167089689651852475884432095933511654997337956447246828537367511151406792624130042475767035660193387506351128802854289271705772095156044915176699353911657965367987756810304334647513291682845730314319194761864935437896217545990358385647961076835202157946186457299984046580882746620221631503982393395396879484344648494590767904527015445552238347695263712327505948765409711219001746963568112148639118766055338705932165281169676001623607330372085015272936629877866530586782993457161834695498558025810802122845007650477139586249065734364999448336977795240521181089032700940462803553137213825062984634995384275558737447254123959766303930014932556979959111371903513717600274670321529623536420430431526102275123787146225069016520447288795110927161696906266542448383093446863708258002971629083555324243879024957626673785471479923338124577147209915764081178221582170455592918047757910412575829220866280133979418378032273270774030425894862416491932547468506097647702617258246069638240695692081922658742683586952583995940200980322283306007957134350923099906613725932399054782937927669002080695865302722568361875256173753452214632435812173796015523633890199566303161390911766103381714111418903819270159694162337045553173956643012500931700195087687250359692418093934136249848500853505963123227974577627910375950033679237289966357844254875729121014443099543849147930098094057581399221154544377021270893883587809788104230349520813594424120236357347549354003632451849406573713364359122102105188313379759312922832176630424727954613342865164672164718669419634097019511304080933629700716046046493202291467990303414566406991413433660047246231304125190523305526583555236774910168319125555756930772196424127512297796754694034198323682802303169658205829415700095049975652695536134361814690745972243372711824336504131991509182689525931709162299409551929202192608139735016474397432581576481576941715093574334324981206876635348303985678823437569208588471495557263350171923276981972736142179569356025986397196629279051834821307545163129022267055275216620149372814741829066966914774230023317920820751059845097470039819785601428884728965208507148265140535491339474622189102770486934295864271181482912185770020843399962003916503966530780255207441429174275677603306567242990363823733860280463936931758046966694444656473280992858067010746682860975884195180362043951949648789191978331779767884049506412714601049903477475185970310830049736721321659454820004905739369096087860039050750398188126239896722380000592066359459016441467906994955781357742709864660292675842230370726964848122301609995265233168895340445375807622282532973886905010637437380376055669987245748334448684882344180035529342640747131544182946764111984742437055300963214641969340425578702728084900193650956453931502684660861688425243344169733684346442396132476438699436861471442147108942458059175807455369861040586920474535219540117548265159374467004924240166645793280421164094535796624752017244521677842533766542021911859756557051912041916901348670438448143518536989497189436610030792991979175525881506011453664761676191323479259841443385066647747757516017941183054022326509327280057506498882331643365733951069695219290939338425059628234483002244713025352054990060837559989149154982605642633281061214735071717811748486061685117496303297367271049680592763221667114829286133303400370776670553662257192449605462291266902250828082125525198410025267808690760598178846948381822397755836248827629835174068266500415644361335137207454120265453821034537629470943668654264853165448750046231234425688476114656295280025459773132696980895863275413642932869216497520446037334001535305639561296824612568861725191375507861381265170087203299599726186167685815241257295833103266701358346057896162514554040296937272928407478522503766929385431129059300488614189839655477907256632508081020073563253149798531752681333850679095526523449399266451484043060684420470321019412147283995833769905859427558951275059337637704748317130906040016791563942661823572827802741591801004955852052967595427725344966593149050908030400763411672510419689583281127550383402473515646178253228868701284004837830790706864177078497403865182379680902106521405853137321897854157625545910910894895838845933488693708412153915003268180298059293269675761776615493711246414100868933950770278863271070348470867747254290753849081140161154103643824039746086604193631054745640233573800455304243368833680766634502457934002014220471366802373382466183674572201074082495781554910915192052957501930278403974115715736995110739044920489032452128290229066628319616951726753510208833688189906145178128147604320346355534180127254042835526906475510517870578639416473658019710593784370115897841641363290449317900907654254319372424043940225414820796672041947267553047186397739461216785229557631908553582212263579484618147354705591870491103659700984620778157123830270160452009101336753652783511115652878231421116473690410910137459857856322620818172453097513755601767086436326239264071189472401445523895620592756588263291418444502401044046831117264869361585832054892908058147126917997383147921423316910055765298365278610608831698595882471689134580050959251502381140363078910052816401306741677799548488047864189904162015777260632653760295481307364874165363583967612043586031272036446175843086572360890258643063426659919843765428723659278604033417759392382521130230616786247687851497558507471415053395682589720538961539510767477194560573698814938346179020693600138583246690994618864225252270250779380660934967547623675434936189274049922714168651138660445056626778448586031082694138529801845655273378755630759742564774719514911536945679137831537961525351281879811296889728291145668625308570260268869412371879469382076900458638540440686349244918617021342588386231312237329054294909107526304605115409355271849676815659187651044476764091137295581021113353143671590918670626509122518926814444698886092468733883858260395535958841239507454803834625492520542354350395957473595818992936519351700865324255946705916338439116312211138998583525509033292201470075995398323165720075033138294086535320376111968990092593874113193741632519039214238028035770439887948885680325191338516159739193383160073349915751917858203582691377961900017334912585577578292191854322794559610060316412614751692014284251498362424713896703484257143970524677423196808528773570669755073003231083313189246598457828226527284600817808220402410773147460296952435518145279896397427373999863154841751350728760150201032399744946381959113766449148792269947477985211936598404969976724512076571039892812411303107411746098698533699848792668607384363128957627014439585452472412998587137520424766453521186375395589428449374121550844056544913025032280035169265126647801322381453342833583490273951925497851514711983997149845343509675602782074310879845749924872115897790188701733693667781238741467329302354794935068613470477097794263428568582497716855162347088274977733318347664846485319959602536543059269648528088618951790753741829466307542182783723838505369669775133031198765460453751013050256052274381764389322538659425026028110362762988864758730110869159067171868192561742216629398089662668129897125989701915173364055878550340287254735586088560401216359800241553257308106155425795427896549439593500312923263850864025648278789120423608106056248073797208476182247370260838647103687035744943828655891181391421279425745225209641749123547716526294781270276433769601754684697899299113805317415047508062320403123077077545382713348550136395887808028276069932424331676725587033882895017276212349755582191302625545881276830633576588029868140825045110217864213658903991563511389779695273750116271380777423010059334823737759840424317761479549833366694211626061053045354125778215269264936011407908219075165165713225639885896967626794489356324221241599738324774988261779492986863817016885821277904426331124939192655593651049633554735265757712664848996039795754723391497889352562183913218166318794299253853488946240257031879475080531488184101041668804714119905822717998108877419868384507146699233950272489876615250065071292072941030735727605060168678034336965560479578466990152810489798000652704209663074714723650340316808478778821947368346814538751571436923278622847975613108095330165496801324515180315969251949432756833165815288498553106884398100360989617466093958084058632209861368632120572230081140384777466267170733591834189753403596021589719676082033554728667785721161673013486682712796354899817351721933197627362401300615879394737434924681195503775677890192262388178232120017207042558130226349045333487764041698230082404535839396032849759371984802611372585559319182884778345119558843907287747707872735570262666201581451022735029966315045617271368545758545481080199819406457106384786083895822981471210965286952351240085782039841238684839199379989364345429491269850488097448828012795301053254223334333401820713055346977977704497838124478259123575735318108186642468408847855019383001605978544265397473759805470140335397345417430149563181709881780101407078934132091372559411115010846674447164691775142721378561387608351774747315512786352517483277414012242120368767136463506144174835027401233820086502687666881979157333616811388685521355862268832857702924911905886575438820462368789759401330429812653240977737552761104456167614795338089248830198379452972582491414014894884229457852664268735473265696645277224665214308060402601114762827491810039521479003795436567343799158885347720885889284911845932674225734930100915811129752449632169648618485400421566672173189240421770347819174744876670194978435845256654767354310125052413021338935213433227750650628576411236909555354284531249946372923494831521922986354751529211610162879866452437718194989833981976611879431011965122298408599583404755663493793534941847167340195255504713143039701181185997866303053695041248264614326792682696284416532501383755267812236409473869636814673839710923261073194688053020748082565129392251266809783635600304856666459827234942419604812399193560825553961420142077790452864039970736508343742460846169464068721058618404942803960970470466500043711767941063542119856303541969269440516120037266757394218753909662050122914877762617519832777176201117714987449167858067922465834333673119950124932731402075325848910613147490702696895886660992205912097286451817135991531366243656905040560402171748651130239073741208932140074103270540687833949833753099201813298941276979107379820102113927597144010253097592555540897285990244377516354638024397668692480264850604900457343942373132504491246439188970753653306706147504669743137328078384610937410917733082293837261013452541018880005801098079674344319207084090923925862382307309149060307234328066393602070957354319804139175275362775537866998396800437946950315582165327451278297027064003655121079792113989376874476275554629345902397041513883217217253674224096755542725800569954125795003706638547058864612982343578044343005518928168769917477656042034792832044327743015320565556097565851578904418508826430343001932546248914434272909277238501384432611153353790644525566708254039679157658575303619621063819878960663234467806192508116771520036543758447799679303385098755864119045104821110299430783033401262898308439021252962843884505573252113360528135869286142692301967243230263259653414102208648297611235129182457157278610024510270136925097335890426336841159194423551493400859511101554813826863747252486646135502224385489656588520384764560791241197150337059188280453016618360528587464420536289437206923329423155113540103338788104555242195314407245759226301188382917338886300459716262166496650643997715572643358188438793563207409706409936108561138640235854983305250383747306484100997242240465104949798303446287187679316336700705304651175275612632622695529837522502268923104812865811432337755879220780829471937966804126828921139001030380383301396496031058071739138158285444354771207769283682901090116278954870404509692922336227932058833635390840268686277391292379986278411614100984851750967815023256910507472416339733995595785064319967916634817734078950395873458830975908256756690412171423894528115312396893571187179629561711208842460251924833355691559516374478487749193687219089461768337526110688809966354292781681280397471686067879562837669927953686096534596892524404456046528510922375592081217314299936917399094584195766908771265029056013859563454237772802307857656197980249947370119077586414731055791907403372115580600520359039652886662812850098280316368202630166887493838762877768541802576260198107802973175880884980138075056522489865698749871060443608507534401899762110667027044754196798520773938727575721374141674299395165003038256617304299115416400115503209701947943626203848722621361968422512102238457237665171532112153935400932747979357595724053969359112762043470546436527966630716949716911973453176137643891557786511921264585634342724533849664358479317694288921562889819639100607552558743002354796456212985914288773732265433874088209271677692812139311669013218407001685574932777563966092785647951158454582171385624610896615798262644056958794983810089878981536120178313452764925790223496291857465222567395734845222415860431804666170350779461860441533613496184972901259168610250094639162652643762935862430205094950897940716930148758172508713756775377118725560552560998693937250354788952103131883256441660720303685600744035195565077968110059781769781162312598227778796364326928140656262434735913001642876964908689733577688434731181226444391936015784820627906173729594509929924432210242702572830930865417653196409689451170619831962192611568165400133357033229708693826024571500114375805836298899597893549913280641728981051716867536052323978040724327746962425929354012195933132196169042293203861845508110150289054167265994000319983170616850607126424925644634249508542337327663361141143580627242780882517679398707561993901619853030304293312585632618252644736734308923361711090207871983416381349702101716034433834283362778445573863855158103304168569319405412483762605328491497956337616428174614551032095192796934701452572579057544743647336051585565797128217673446638019730974017339880593201986541474821490803223655626871042425958735483624128175463850717549699488602885311977746810353972418649855660248750996076732497802296425314227564169304124333072788653541505798827399081060087444807487521693062798656174199089352008603975357276746491920560919425310688590080796319341731094518428302003280432777750118706667024565481868645304429967752930188560818771543205828584058921048277538406376294153900602965142471208396355792710070077861845523653861847062112818356374408700502589850026538521618415170487282546285346002466705522943906697601220511442727337959787578330449947957405627814244992017751450249205522611550404145413876111845849302448085314690543929621436733955822911433364729228591892513689710580076483535444008232077785276020637800716055270785844642385684333903056906876346826715437376187451076944929166124036677781809536998931865516318015141885351651716658481961879420346215242827409987272326836122044601198838619351454897288397062455154263562047654892915588076108720311856212512675414302174209438052435072350188769699036613602915121084761394999962456128057175811102833651718274666400966664597443368863136587991004237095297994843035126529495531982948196353495596431674676877399006812719288579232503503661363985438304674671179210641899293210417167493251044893243696937601822953196213336121303664593872476383811073478519946498957077943169108505813437520258462105119414058017303043588004083035288981669208850063459433858932815948128565805512449325350660723173221806103240355417047888279941747195942536942542624358687450563142500094444908707717015474904341170596086073222615067843409957929001171699402461458079031402600285282496354464433599439807781769622263437908908840554642885479617245916422743278438299413567270613001083841336064617245303630817843487608345015014682785533635276926296515614643981286684652258032491098952344321062706994656477774250525377921063637143663035045050705266521645677116500088987680925366553237908768955198905534521440692475161594875366185424937324626735428888399538007982841243690332841637077860053753359961326128427111752432458186461578349918819453302212020754386234274801328142963754602512919610440419578884040994579606882524219038658669335098578234854011601604368670764817815804416929627053806172177007244748942650890824346716105895551394720108124398111615268129243232330394616826978131669895777814143240264141090530171066515739354999257907502508519784872461747588513412422046044617705841911640539171085086086320976381751762076748273983108885062915908157135210050844410041975546828048013934442370556199025348892358875847703918749209053140984434782463161120790293707483339812095615528715184662185955790416307256521498046169468729454265195194809892292442246300883892575301510418014707487141494914986146107672580473003607565108266564293825939003789062486786528261158527654458594947469943145359082283041370836590664422168264397577855779514327024697740735942483569760144340638980854967321162623341481077132664345891862166794487439342861571250288962413426465680656911211656535719300350917654659795082267183196385675784000955364970848967146293348515404662401155036824627236667845680827261647780081385178571770823957697075712215051274014997499096260890278290242058784571434285218111872792553298739834655746785837078159105108472625016120222204595017567732094041914210757670230304732402996420734248566193335509144121012590294257299576292159828790166545882955325842388598062999932833796404047993230874437343706628280107115139193818201133832051129443729061833426430468012299245525790902949397580798724433372453444493460676113517293099875666679662206630267501113228454406320157912431141517408632752027585010134892523437347447102646792693425593164238727307932198222060473481355030686302019240759350839717300531673569919249392166141236082845101987617366294836916210111857170655728780154074844351395799595703306707725100712901007241429279428345691437981785603330998688731576673835290385606063199204061821694873852002048407357095709903451266021343685371681193866280818917919414228905379293096289401281995741908894000545845853759644119883801525956964972259925804068657776210014404630548748658799456377459624946459163041770552576353756651474553124520225005259118337625129625765256190093872462301425828144285912181259193240927639207595579937246874002878880719270041154398406572350334668713725811998589601455371647489514723479531920766231278923871876046709830000389355206751393533062429857030894258479523945067775992520787567245055104056845682198738239907572467157265841519790533741484125374433598306424397564160851649475010854926459574630354544812346172146610919196817841559584850729132608354479851076152755518911972395792983107867932683640154384883888622986998059853237165297053254124160575512650446063203359488113809424709655341348060828411986439872897069365074417310314403337203870156318564378571684372199264045860306416529707606440162110872602854271295087181643502085297381900687808925648027365305920759245624077975510112813525291105335957027805847825387783748050527919944041493888289785187812060883926765876418756783427866175663124631580372253505786049007956220339563003000113392810013503269008608978434537122073996335202206090218904298443939167850055808075869114915685520110767669751192857982936431148770551909046294156804994773034314266251387817058954412484681055003946441832985273306795849422215441671889034589840830048673857080889891094763278734011645069312834736449888806751213156389910663970234285655174311821323656749597442611443458681481459892256672535784336136097566902604443458709765329692318674003977351077064144525644837280011602088476266236592557777818348487494396547883636652646961880883408265749181287719047877272016240224455549808854712512451883011947734653361429539569193889811222685337166791905742737340702396266622544680144146347811267820781449194562525396878553572188999317091312591532195445498466275032224463335158188672716754097366728181713838795669040526149706415131401169799068393893689594575347529746741535616791137084462867937138942153697192592961084183269674892287445101461804444566727430419560717938918280720436207573929370212389911303990185289010438496717068314258183576001078814854519270625736413719057680461858995979842749168607545887128944414016376580484858378694934443762700148353836534575186116807367143952658655200933877063164689893215666103934269054722613581683373862411082316967620845604661800268153975562276220992557259877644796512815594961807771316308537783749012949748849234925313707081121675070218915559216369086108734337220680913563976773578801862391824312948380304213549009476848751171301968914928549809933035833397316912628112220911625639240264998413797642087591280945289528784853662983544270090778336847252527135825039412327162586699081683073479614649167812985570470342513149536683572560683428817988437654336546502576191448309431768369824914159989098402663011991926610956593632848299589871958368369777318269599412750455508218739030148747147680396794744933249724042331491272921332051158326993941655672674425202463453688714124193996308277834558001111990652275979646696594292232169934814901806606543261643620773158877991508636861953618118081375930836180977122424738618471950448906484387075174576318074529434974263156045298855807643266292357754646728874845313635416319707062750602111164285988865984607723187393037194952991076987633473363184885419225263545517193895069674317447034654295298381766930118738127558470237186593007619663958874538564696447247854151995120964363884704538303429129277877778665191733531083400511316988974420251561757891774838026426270197776029418547115107336897120781139886433321972912440494740717497726141303343802034504833391023798255589966148671010639470079111946594954127739197555098806042674177428602571950612364274717796413483443779789601431146629534290004753166979412948992892361042833363260012075549456746039644565542987993318229033673923660541955773228875976829024352641129120236213033700351046137012765510809834036433055001062968948189725501297789657732992301887459898351127385271354765187492358085984365741091578271103738409095442385297305768512109334800878660819742690515956353367707787401634075606897068913471147939425546687442135804109003854436324146570188632747098501368362941858876172878454350920532405709533921547776667423710653525803082713487692329771250588988344975098023654009486519111637844133805433287112989300831925818742277419557111772501272361085771216705560441838858700217582324229036397504761019850035209735825754188580304531025948579832113839946342103482780934931124199314385362251706033478936235827430891466878840043486364978733693580901050476434806679878324340937120371294960811844920862244707666253671710761401608562789076071612378329902171847028129077672099538261754563967901208947180554316739098100910013356862900194009719978189241275021498854872861957472669960901789053352087349208751995413018857631811379955469527014750996626690589653860839383137499606216893095663504636081372863688411166613869424035129500900591983523922315306517789245161712308380848294734089289122855849020581039016415931048935546637246910814494276794391781914347763176398838312630185241483053308451211754629601300136013073926060825103068577496902351567103952942471560608564233378829604618549089307142803324199261894502436889629653516441879023449285775521605358581151693984136068595551567466484005506971127276125906581626363809983464509425164786420729405527575312256267364589555801686782694601660219001592300642054722263362550578949628769475033956610466487212621007127415394865981047053374195639291286423434955442226647307880325242583744550687573144033924944549726061838887565223570493370463423348587254990274537305042284955232335195117762652327306533664479475362982982269819258550712816497768711205496641193779813296929041155392340976331974823949871673505575327183123946965064960650410528330261649002781106477220574353498691677633654295231222419264519796770969587857324038406284275001935893670446010340134858755933776221578176569000021608657018402932050654933064092449193372350532182310472834183558258156800165724125757746414945516544301225062640148792520935619975099725011948632293430407142950385657820323398654179736652015596557807596560743417417231662485244985168047316095322857820845011379924716982998962076707984036600026573790077375403209599308406106189458123068822262303499979881256019045895364026147424380286034809368394613640651835056655627623910904161432251457533200628404904229147161893709714601178285789751687369259397292436505463127416063848900231897225025127154097080801536027813036051932878369478539769220377040684562034238833049592149470197776198987265535173510496379073218116108773186047216222063622411500814499978992486784301747338044659918892344040840760718272354882368516263657836981952214645301495947378173814558757849909995166555019457981305129307176476394907292983007026556793209343179532724569117210007393449465564731023612036147439011367818479600854266349500531909680977489998615075440868220718719910425461727652016146618182417294948336674696892739711564992714048887207175277391048089424491104875145157048479700360219891080744259286271027441796938389038117539125181354859065985604575908489139808534028685777716793978050468697463332738532580020827414695196950446764334732961085203726403203519068145837273350604645475630152221843322312414152866077093288758885558488510818474067960263119988940645415882787683931002325838147119497077363751769113612479521102844602104820055878372561455700318451419111252314925337063704867089318158451202761957437041825620190845059434587486139926715923311463982941466926014185837785873611819570809933588438037012745219011521786773181898921556372502925491300242261215851179728362917350267641487737982480018648726266212509979872737418375801287947708270593144965443889015571216158949233062766755402745397405799000572787969696196883651583098603604351430477483759303303250684840934860915347185959669939216414614784722940693072423616661541020470134767716207396774223912757538747728056307193347138837035855073812365400066268024793901045143401110726359904990548288675941896275161437071911498488437091975325139509608901267413345037680225984682291511013603600898943099789744085155279972310232266188895529757280280005401172505437278993166265400029298370884867244006648657481197741135808450177452536666587543392540246481416583345183900411254471287655375281742320433323411135619292110669695822799822914427063222873074268645912322646684073265957716891273817137171439115170900131074124904999472620285787618840574834037508966976149368365463590285391450184502757767183164661616906421636640071653109404651824504518785510834360363499916582212524738497458627252521920990905150854115521033722400203310928076816274595957189754255069742625518289360316204853364636248133064310155290397281354448181916723870265566696191525603705610582545772413648117336357108478177638576985375358448925978733590462695294250047562971708339848817945526759693842396638161310697049022291240015680601827475703277152294818793536521243848510178212008329747302570218330613391738162066016299798877715076185454075592542326376371466510231908377009622647299258006666839028792918027750261066579090201336848823498610562238491034403967946652121379941764843933584776318994959206436632197453122118013169626246322750211101357840024743033114234084710463488091830304628281658471603204487975326327144297404542578755029737999379922624140851323128931642434972499977463639960932644756918368122136349363505796104338845252168347117449581693792431632561832061644649189820982505257756329546482184263042094632228918377875754048344254189276473195257646051743906899356147330927084367919293637433615526786540666737717769609087882767866308635122738193124174365429423447334145262238448607352883143828030058442776011860077915300677193286307532866623649939064137983667748497207412150176642666316954875295461228248341109590120083194321101752459762813773484628483826146256113280630553176667749168587033068924553064030924393333944296353846444434661353469604055839899375092010606354625295998514435991909925515592079304555533139587708870784927602377546028265500966054407176874953968346594372921297699756238772255456759730167806984839948076267001150470840216491193185738364476322922083414685570222864680248847869108253968626219221462353100238059742148934429994702435378938301651856994597193031560753784712960576312639413955861389206294785660387705152324286814270578267660146902089781479231136419755398059418355241903819221056418106755530457552643733494430843248643394453725280106230402593460061240970298966609612244256999232794177138566436216378493750984829777591425712291087341371527027535480492451197201790937735458402576417547947139974266786684147116135151995878354843957977594502082378644209653462115386513444363873874257530385084199811651745366058509239049981040090829489570050680828343374940396266145553772932129855534792886004812625066875120142177395289914680273614246365777636761357267247681965713515632902413799311879465095988169220902892857728367470223508142717622688624683441650441417086319836843982796977600209116709810693334086000252014211562783501913111551684149443961247577160476075839283088680980429696839797874744663528857090352581198321277787245729892656346612497062774275083043313245633706273602268723129507263595778935958502350303639956304094367914308756974781189626654544388868811953463078076058125641529180364363885837387358211501761479780809194313650554277890096750985015382122917546917525554313996148388192034743260681171754927082550953642521967593020602939471281777932114825352567010903478737140428900040341766251405673302873654453111083396227782821929312474666623873225425832822106918290033763021415765459982268106252847957550162186566588393332989420174740289515144572720759901422431427074634027697165051264950390558316786986400652096210466497845609623010603122010309840433707392456931749312499799835446551996349732194893875233998417325239811884227914442136328637975607962892451211224253879416575963160482910528525584683480573300153050843433132932773845425094378877682411072803028803925962118856144395192116855576421777365471994779302215750450738148790039488306818335123978527318032650375768851496813501357201945590266203324003536873325744249528562342104814538624730390117873482106908483766784766842448315680530045369200671910433680608995497050867763702346785642748469616804545057996395083534975715848152441620577259265508296380335965192477072116665630089422502756642329617327037112738874020622094915165450057047948312832114502585255210224835936431197268004405403506275166202840009228136336022876436242375308051032151665189532889314931613599366845170409738820366452606175696846487629783802286949533417083349925681506507083078929454923332797477158235366675408164673090392322352046455866742100114008215999972693978823301925709095024053930280975297209969622409646518916276690106421122488249202602231542266146101496430929082717947407257383778020888714605374259498483311616579296911762298162272707003714942449293942468389676754076002232365395978393835346595930489164345365149381788554654608637364600968626414627695041858507295484407989695455913905061620717132082510493156040922298682959777004869470618973337282953649850757570422879313729045758799939162096864577309908444831380428419438441109688282133991827170539441437493408387671235226236679332292628866300037127929059908516476665309360753906327569946967835102557768566216475008775712052183242948940357051608836442985419773335747462264783444299773480681159162197064490083971630398864553490912101648549070464673841988699214394176453465639040504879224795457880126450121319596623521383070465232496915682243958651895029091929196731394545935075369665318335006766994464547177027439806710375005459496933950616314327792094059281433453898573374916441213125655657155852243880448248737195065429881943080052576556577123362502610829996598465667563319388601395993740948408894634322287909305641592998274506981272892408373875424693833682785313138424871386703791650135172019064439075105754397849741193216772597488983568189998196909014334277237484075715009863022573504815878222529730033574760462546783446917228303732061938416473033080476961519029996954714090624963898307596727126957195233053256392009625464311453215689071422431166083761613430130450927746742795529279589923047872615690353663970123448092937137191459576731105321132352704236583407243159017443872251468930582292585578892773549872998205720315214123935202192508605648190961932545229127880031351728302665157497059802645063273785177127205883186817139268950099015030207584204026517947938969115077851994440386955457653406885280493349660073760840419971693380182966027254558189524517698346928707453226924460498116494189846539218920943583179787037121012260311962340587588856649708946185199212031819413876094980256819344482322538825683212662011162163607728075271211213410221141686398081762759045063151298333103885689107837582020948860994826304093960023283346892325264810506907743478720306617533987128364901808522851690939441509874251025451586834425152581207448853441623922942597157500332786426452125062429757870413616994462650305250071257594853196841072247317538781986502915096697291101378801883505532718882348588606151140529097815014886872406921305494064603183171715322296555358630830558950372886303633107673723054051848535992531116991136116652487673639558985303735828073966667481863744399430087925447064845916584823001029669791066406140275910523934948457066985818575324700745119097432477866071866847257828659089000095269123939782980639433189088050118377375271295068404400218418395085723525627797309856867799037126677104742423264544488216487369623839651372409649138135258880077434536054357618577489621866515449109893638982569809449875416225491392956204695615640160272756107674067950749174788712354807746281453097738483884908775474752070438203915438406587342178940570292927059700195393494255568560759608314864502344095760450175128241241491745395671087312841383032281305879832669000723992388395045941300936567323042504634879773224851683342273972205746059767406888995993976281959305233868137613882570313853545598221701425850888054828913945470403378188275456902353023244574541813924791118443692554283568747375995742746613826943132846570205031342326834455838105550445161143092097064732040143736517760380597916713551709875154008950258844937683816642822147286926132021614083736295709552528472831452268586468080739186575692339202901437901348377310439338216535046582760652705762430242812460156721832784971717783482185093257287219391574320068982632551965685645674723338855734507893735631238343887733862670609905283585698046776081565248063986010291047472460051586391021556292226429674832570657757456813029926081744564581402864878875086455445145003843458650973418471889335088566864381104881778012542177946478656215084484770157342800373998216435200452330684493408057048748956134728519475156079058406761733819041763763351474716739771283115466789297075412081012261665573583730641259763081464670893265263067785218858189470785648780312701209257129802791777335182802679311335574293261160366702337575549483932536225653648682168201092663868930384012935775091215281465087796015510121506205234977769802417834915203559983999409237607456449594479406803431183053145198537343105867569244511809762181560078146159145130617009474442867658581672927117889168848102150853036088595606104847926869511473417030850579091661397686538774615345389207041583721350828248614878574580692202486129479067109865122304160971716340902007644360547722916044147159696939323202324135490802936242494643815563170960912716375119208742619370519735529421492818767293600059445677970704127025210262649093506612969822859978935936389046263546128195368142289810658902640681345383087067479308529328289232804005810996777231079217352966655807379373219665792474242744999042579598533419158971587646188854939527186219856142097617175002532940688286718758178118417713271276500932585343438198911783894504426856259079944300647351150285280083423626527036882285533783722249235928942353246520163839439835804987025768600634127146439318805895544694812643846491588209140180383168382534081733076104583154103564397331702304982305836788671825217421508137196698758866487402719405482689247543151606806301853282099149545111557539910170895453074524264156337296479991988791464465435468775852427899193533947505735111843259186914456157961062549975884797573401097656985335339751827991475569080299276865739024552604848172641493719334283039724669202754905176705513126856760138241471825323992058727823942798273081856691653543418190453760376960308885603163807270627399989768038262187078139220757528957170674552142503243579066854779433923562854095107322821629948825720706360184796039917746059565522231001982160046397649216405317492005331556597800354664203730438147516048294760720361307546056013133643736855870057474715445895080359342182259539412534506584832108810294825150859381159662605625327767212573874777462501430193237074267774061042686896665981459157973876145231941769007880355018341073021557344070420552927972936602302629792999887095888392723948503746991420286990400319354104664931262842946866869743141886383573296420340513758805128286285703253402301674276443713040663114384720581106762819091375790919476120154054153945489365511247303525586111074393635415914483516456743127899801995120678151184751575270573953846382973962360242458465723690060274361722602844909715758984026381053763112240801515601437665100802453608765728581081655948492372411224989537607404133130183953604701052669569286118357513158985044212199331294780637357426473083324377392253583343468020051372681431793039861580503752957701463459220101651677543052409753073873662583697781584891872037673197752202655125736797049342887157552912612180258440340370684025740819977981631189017189633076198589828633437532871335225714125917293820454672089742375521960409321733031614494739403258472384619079759789473219287874216419193131123947139060971514734412038288496312364217698687507052561165857142857355098520887645792510688197156689688591636969701257115103321187168585508724902463202903775016289631201180880498390114023116560200123258008429086447511308513848719592826472838714093613540785432885885088693127337416619273319571366642358314868077290442105729082946688726616695841643902229489686400760704555070458563571834145100491758469808075741229300520975433022664154376383611621347159918085815311607952326473681175591585442205248272332835011959974326495687610608865002310653582203169957889790487556691234775971474663547895323787218159242042675373719314587616538697302335791642218004665595602132510328763952653882483196745917862061126533407434323629220658004407043830581300965004306916372816806324918633815334448269757175891180817109290527658141871091811311168179418198503148120072820637865950020157940932696634263718406988105250513618325343795194999045439391751479155715980502652688216810523726714946489003525017607635218828857956616181639085516054458230063096237115448337615414049759118679652749443408192875660232845462442946307262451529462508323972496086077587037224369658825700213619271638478624788447366722974209446711204500244863622582826873362848616165361250215150397756641969625860266099335234643578012954999429111102899362157631428757844596888072752669482063525809338219061164590394731668378586555981188578760453358816811991544579411844606038755770783708118877030135533587489907020889468519271336217268716533389276854141539750653629316750098251123352873438916472376233441231528950138953827455213875798414499757942419923843439191029988332955149382101835839768698896911622950994405287965947410916175364462446600272988521137647702155801710943473611240628665037168365626821157912891309711281629814269930707845727266445969015701844304301404772583115251264282872522089038842800389612305361512389145856170195928690367441553271966794489466610167265219421363073958776289790053875666060967091795218944951944492077071222822170906473386134509853285214414104432191625929885159967075713651392180169570686378900785819556484265017587795905125211711427808216725025762519073821863392124202334282496061677834159406084142896385639822335302328273196612382077912947900673880637515477876941877429048514571599630388375365958379233552687711068628030679631555645694013842889547253262368704457842417181736677279808769540134745484304435644062919735913207038410245243332797816855831164413983104724150597776658888598852042693554091161764347329777154032510918055542796184366553196311765446179502374386245473135322760501438903780525220086486021410261558033672507360879605469110154971225220895570967631900018690357624088876308161780834573846046334444494928571212097706858220951648617125610871603282763012408236209656732138170236435710300301586373607072223219988792430272081003782454523140410826898909249928983431398654459846536000791711229520092248905748708841537017037075180730774832455553442642993884824907933512000055918311500755017071471142475200814728698828790350579507055345270539635260619799155530905096283010310067864387082103087346400332173348456029107733088813991681445864853093249046847413451458287929694778883340561768695876161748746423717868289106303702358875264921644310300458347872760377808006629818941799728439118263523580926362945399236225497961625719318717161715681144726511576339098223412464137446509733721119807323520852280323416047069111571618077868105492051965261188735099968245316072075741670745547262464831741172737398150738920593501865367780936929653367323069029749107825942263657820128259941917339907169108644848662531746793579699621018973406268520589382158809970020479286964860427640925274542840258330488395820802678610600722927034395390082543559666522250088355876112358517771810410970267991811442374543070726181941169258335223394388754486894144528316784801940329275012036886205461128735946930692884551741895497511366501112759625507329297852297703689472342985682881180841453954790347925474171470514311730942875911037122878947170390383431156688879741135233366872132994025888254306936143431910896952651343872914265335195162856440052848744104724499515066552036194582055115810805268807060142318061747051555336037828540043037609268600553539666546423562410136832903389918466489590549002852250704849703744590750539380223295897129260786652834930360947226797100481297485935144271235365621628952087993200863970920125421672682847998813998231135681926531510389774810740074841353443450320082559494409959668775981398097531639290076729550666957987980986422253251695966521006276147957030066849274412506154091460357547297762998350980836202829937983602668652516889275044593864554075005547105476251237804894221134355974513348744769120056720669094834864731607952397217924057455484011167751484555433290307156191871834260843953891995795914286903572713886057121179981381964879547680444495451237422819524508111484157796747869249248969467691164786212005351399264601647640252770765405682001655057728470076423013225192899910403073788991146963278343067589924094026406890299158644393451710351260222066265478847308170124856102032925621286862561010811515668949822289137681302336253954774871038879624088515514806564166504586055660366708517818919474228008714552178160556284484059141514400934429845629224218813482180225023615611166219713602923549068679938904473790379439770803350903906928128189846108954164959065322681764286939311241049794074394392257469183629281332244705830628852223844823896849781201591491565525699881948310822230385797901414447294048130898631589825037722124600455303300067191719357275127026633564698379211812983323103495152459864187562166740442506308970465457276189795201607000380727569315350325615080489021953512419412578360797750812951453943142509522165291157775648120210159223928971349916613408954487386915846919007871738659311042036716148389067851207168769307143254589602440894911855228944132871162914346113019091927952600792602241041533360115599021450943644162322356180575295166286532530551771502462431539626011260411159492962431249554346689456640479727406940810333427101235892713042702217496501442007441410041315621375798014118654141983008344012895300758033721000078936767545147291459746190865290085416785664557490769757556242716475024039281031815291197879252658886892433342568879106098649829736896714667628307984064779690086699552474249418936095036796423074824598744937201454356571556858350042508880596835753442195540852571365751376264522904113634393159217680557045921861650208052991886346999175987279568186837111339233485434071835380639787274950387655248684560570743768957828569291562619805924727791648560972140666894449683947417345705018856220629538044920071498671842586267168753597230861188522936874061981741184464208150783772287723103772139985264841139673106853000967855915521549259144173853106290626848099229708909046032333454436533731809684525053741581981337296706150075247643001687091819065367752911577767704438678985527213720856365224338279871826893928977398816477209164162088526217663609787200377365163738134751340520662142700786399145647387109859217984747678225216066034345556104694644827682050134052588499026893997889370202382425340487462343138221386138757321663722798587880627002800785706285959969639210789781017169058385101721231651440621648247320629989079541595878895910680042868060510458514928930381814480910688385674450498348647856140938693953964568133190969601530596392779848762110991746011551385058062425951348466467108629286065348333996727355547557684362909686729120232851750483994106309244666027805359097490493100170808210401247660599632559258362947099206218700528016559685276570420860115677463855254869777238200382713059642508376460033886253609109476268618709774999923462987621122154878711420326506207188077045430203872538430032723697314460377617838019532555021266363369505300710030615068533721172570384169726346696395373019324785355155542105454358527572780965541218927242837035026227399472026770320475104042293408464312915130863567092476606780422366482679323496149398285071940546348205084722895382307088571600422479716468603852835956463737423531605067449370236530055265240694282852650722611604710412005851890331471691084572526516139383344116232533983801589096164338040236826604507900124991723956674822114107241197586600638829529523206185545454291340573878724862446516280855121150903545800270119855079593279484190535555611485552708642558971613494105190760243262021638350466620733970766309968449842808385226042397815465340978683959217860213767072907315565039513154479574362237471124808322021667708279242253498131279731336901068753101460342595478457661762805956588596664385240287680643433103082975932946355867235305155311688722275704546357223236014970406740296160524380245688457821238513675147855059007033134019195993736379389780649344993381131958310485733838805612589868253611478321524245626899899066468464080080240309942491127509107702675722882810885006039140250504805468605555339753588385615955433498207416783576237208130081597684813438481434762735388389303104716570765839531747950089850134947019486909597383578090778722169707793689507705580541899195667851599821532095750498371861788222772822633369522492759899054289611653740562948022640994953816203023820428541346712143993683412035684601768650622337639168545241497996796184488827683456989509856409054736891429352242079672186283071358913463764817802143174164663984749898326844477520198102093051668495111861848754211461549738047371459148056093614217209726755180537996852192086534244447221077213233189823329025222342790592705689863218574310104257944182995674853217436938758335412261141785173504449244582170149533407787281550116134993048805898543590558373864690288902492884056844154946401345488626269520375363296748832276807248047944321041993532352943060512477355179452703439307471668182505362901205069622806498785970870145233556134674028975808816000244638490610856958323943724843726576671763839272187501572611496859710017773651042906148250895119266682320927073490475304284104877709359161132427242302688507227291112830066968996776897169379012652166385477344357844847599388689881954260018515096258036626484304853008459310263159793948941098694803934898360672601560061571747057827646081097918658635498253453573290860490934927565532069805049568102461754941329138407556083624976659813606670106965900527868977642329896756009707027479366868658226879528538490128760345435369145316522294593481109029741446655231367344889795599471035217618364553601780476055598599688185175299678162804199541462425204247498308887517268266596257082948623284442951046243812106191059084092844023171214577744530305611118326583232677841610943017365767269102519061192883752349817856621845839857574435610302166981281088844966772847476896174537242081831938894131293742851641421936367124578308553177110366156339763496193648618539967589347227519557203825372726088770076884716587454749144835972788586859668999555122514284582983095107147114344738235875220823363397467092578225074329944815866883604392614498621783542871683938954965365053833542613374996962806575189535688841779648462491872858295615229713511819653351736974591421455972937454508658406091744437394023308530627661005393973755663648727302755474992505384150544668880290459106260920213118660620047194146362849910007180064983250767226758019611946384658847004966345093158938253300605820318274200851979782246227152454526177637065145969541700730019090340804240387734244722643434682120572472432411074737961848804749061691656511199581769714048286001345552074215561193498557113944903341020273170933906638476024644550612837738859822903825740269595003693746068020643900811299286795513612163234395268694245350136732269376374609607381606219457401344365370365367509682199774129329098567860787837689987510796056407700195473392063228555542338000564624079305639118083516413763368477176644008824293299407457213013576530759740981006628595320605520665691990457057032801992078719499749656111012613558624398782092843678819356775905414836817056653441123666738231332225477044400555525981904547803816081956281144589005671298348544078494186607354353460879538083186021460645749449597077351942658972307525833891930670419824063888345444605826700178485690400919366814776582845649897375291486313624694135421800614713074225616569052220199209371402810176418495632746645307633826637567312678613619425395543814430478494255976526558197700293502521521999841653796986378834470587024832556565229972161270403351249561012550453191207239534128555678878614133664983052713492626742675833890927321087209587938970908304275816937331956052574786054229838861631702743527949989629902515400428248755834788241845488965886080572951283372913495784451652876573921516466860206535694710276566256671987491317521898867074761187783906153438041975334856624420122816348488024124902482793688461147900487335991168762397575030248646220693349456466034891552366985199390270494677494795255889113318394378050827075645067296499272273481269112009977553431984315110148040901538653120097170805280370814842175548605939684547561441015645507805932252208235967470053580009072448007081327731213772928476712872754418966678599225608517055390105750663377754552263082547237061338156850839551779857788671127582416776673272857566497162571753828244172705993576328888147979760487701861139625023550148156414539137504618390412277445313144208162129584248591912418983301825550666165927615170543462915412100415854013083257201005635510997677338956615549680941209288877852607433155146640622054105967800738111776688182780253283137548280822684789084330354774986862125644081326845216056859892220650441001286469855332950953893460463577756495391015497542224115637281357230839327568795916232570838754771992917084149694160498698931090383491551346705919546734635550518268238463243517286856390570865092995285992956178867300373265852018219980313238890002445010345733591287708541953881742841552567609846762485772699696792255769275039831728399747908921387804462179512046223098003125606601722094398932361466829997763522397708463357038620648041805182783282769058609316180219358597176385889915686493228454941301652529204236549235235600928960262673251458851045998900279919831123358640490259252309716368403843728734952470455138473492402583952916367606166241455395597472096080829958941885255188610641236874983082673085163262818313591146530478123979550020898535152282907520067055688935362600550293744617184088696877450792843487340277060008686953106471399512083661925650433208048648014719463823899105267783626848040647852813582424281979264108145359832808008145463190658176259388163004321692803095140300310023173733831323882705096308467703433645247765172266670190163917900436384599306303370695155299447404233785302260114323767015810761397260299996395636891880500127992227912622907667814674542672343680321970561791418719947334795514385180278463772031853740743445567558409741484568927604751868684746533100229128591238761591740254453732778966341429686021419528214079350922085678209222991038488638778257182004450730674937527732050201600711574650791882616493697622425385790438320710290253017927456015428934961505026082629849126104252701421022696243823448257582230332583970046184948307364222030736395718422680926757127350375621530900935587119982011664132773411176881741285230323498942118704997822311025568106269934866294128441364225380405719287108664563556538214789900426608889135964110402598313888050208924936679552533043106369743405120402970429893816232599711066710094250918239354214255711643994699400239510819360788523484259303193373140558304293008057803940794425049348623143601203463757532655139288214097104947490472701262406341214918045777568352534900276969758383305852252042336359892727391348150473640277905822198783743827338388945069728923347141293274445131177014165054927661759303873674686988554482098636642237584531779764242568024307215974242081044874488598624762133785301351775510510918161649879224698455095635852870110016390296351638150401168010754902559747980071411513839622339708725154178105418213580939214597620692399098180008679682697026992265595263888736134968553150469337469285643619191703383526390021897320082732832553340011442933189190375340540950023011691155668248459901688771535774447294477635982978854002046801851576535476036276845018667410374703746977912497506473517527241325076576618236558179222234824748857803147423091583206511461910844928611608649474719872187977253027647152763451063379842635232273660907096498422998111513596300735377888461706490980817008809915896637440476399920405637126242687618659199579503861350341975672691432892461039949982020958873113971511112920205920581581720626436060244297792385748965594996271564063589070817143198238037094290465738566931175823312704647438164348179360530567750916240361314580392714125775681761788813254216393947162069627836151273188431769146845901065639859667749992144536623450427675391672178375596955795096055256926939618644689101705024803352536367086225150134794162164509906848304447085004079587803794121959703427843181439731812947595251346657835440702347995964616030589395372870938059469521947274046564049904729638670563288259041255699921580094979943549977182510840425896264372855017365494933338414941498417859834555391479824387245472125253409511369980159075238187177527762410082818219623756674952187238161109451453781602105438281132524684329747675292041368532506930425355648225588633282573372415556083084930721896695065240187672324229807945856220539286144993022408174986806719895916398862546892968384619692553615139283571645237897445601725477388078377327515137571761457712480206649713892690409852244844741297702612830072246396968482532735996719320432301476420254617321614350594885312330914311168953576683685060444094302616850202152291935727927992590826389197980322012317666340819738250130229856947541236729006508995003994243537575992067540671587639997807417118397994574563564656277384951565775219873751960157659121963414227488459483069952447677434616703419246752254899133034667893125641981059710034552371314162969399782169194811336251813852897842828625471539068745927473827931602328397038884495018061812194980022086443003134533235672475412371509899773330004967294255737154690543130580105227174925011393674658756291166784724753144251279021542138028811393414016128864209357111678726635496263975989334528997255025325160959373000547736852880934643471028473898608849854334058981678662141851879379584980340833434772283762771524575859825687935935077383978412637603759787852953585458945651835262142114008321639601514362567895836714148687374732299129241407266396246982058927816827104645198558179005463492068773991180682578817200779961789088285175357492834446610078276133746628026635001273972290244960031527864024496357984229922933659768283124208204694162510880354116285832044541686964759341410767211589580175096023773830342608312029675363053908708691112823319058535136110311290493539680629932332352274852350886618079278449316484232702186211843966656140841540030185770185250595933911280935382566471905644020728486298496907818872776713713282190865135338532625584369518585923567343706821481116294459728109471353302051534176365550319150585205756865310209357966420559985133296303111490117727483806336738723654139807751503932793865937831945759831732434747491708185934437943005204172277570692731927248636134889463764486651594403351413385739631237099935721418140700184255176338933027613576731449043647897123629321949519103223682330120505577473469009932499850627897225516831455798475160993032418988615430854695968149947632275185288407602225176479469443538898772449998683693386753318973855725443483657849715848360797627127916607595681996293131221193130477725590323510161806079740622896481637299164322539673063185371139071873690218509075107616742537911882879726906150713626299116763655591628448503356504321325937492563170849900254548976329386329912218097137079761984032673623625399203797491270344155420081076780852902255252578860974626202769441247711139531827449233210335472901435657516915286934980342966540816573198617791223731031768974918018291454650807661814782793088350129682683608579850295556547070060709717322406932562451542364102791116612589551164893275388637346622137659457159847259813290768568045822326698518894316294419938339434744185275284861343800612957796901364312997706020032883446514897226534476241762807414069907279058614983404566971799107865891963158699618386162000559027550151690774535714756117533856682845947517131442247821396456798951374950545844620808300988418976345246939846563551357546891542180545644313159840323921359722185549755308728433022484311461515806130985457050266275603218824482254332584928390110222583338626489670558912553573718411962698709286605877723038894726750275317267646987952040937432264788694991410748801944256089382852897002999963147545006396204692147440749902522314905186792220884765275830379363514042280080703671758043320071977755194712205946654681844581869747914673290474259597485380975900402024688264127362715056081300841769467030302536211118932094143421207467477371840178449722722100859993583474285044850276570125689182437097087063526716635582872919927452540673061393543317676470060621786391409264880946646948385509134704250539130762284211212527417745736695494688299199438698896073488017738240639887841398268146434666321547268455444396036282764734917979789353947534635380085510938803484447646761791001085814295580139469524274560961309793414267968041728804890006322537642510753986029597363006210623093306621261681223191946832258477274463657185087335457655357156297834798848081780833933652343034270458679956784754907500900210650620377155169615857666192422314416835573220068212296042695454732822039693871623690392818926906602629180872946084983990820743238384312076389474000866190766637177900941677177876778766333070708730512211010255154222504134555762874596996472911526326823724145340224791580033493028646412859424382093489350379000043583149075541357655131906594589278768312279854709752675446015825178148893498835987991581782980191554793735014949930708428329932092718236955982907816743515658052597776662639446483533619616674738057835464658519645380765678703046322462770979460591964779340314896499835852663263228076104018918033589131930535929926493118614058211331329741070835824763142527233356722437508529962238078409112904141725884410720712661630412542867078188982068235184947603145843023990771860644201546700510181783437844400828561311975352027150143358440527169795226494960529132720871380046427443590303397921244338558810322031247167024456508134143370812136956074801886389149032743188335817781009123477648265474003345051174493585534817040149566632473244668817239196666305281500546728336966605094667177080911956666089744863296129815286265513565160488730717257030042538868157141161080566804077788283321886769410742434961738081928870812457061302643080625504120918077006340938800555028932424610070683435975200361743274566662146449418939671092385704875197279518948316481654255176964215655946140571795945826722841446752678067476174707719519340468447607714867742717688328445897775317379761722099722851657992731800633006254731632811084036804958152393922974935996407338028659764362085096221266982946279369560567233309206021113921967680582294357854250345854897842932589230119890626429159554004019140708297719870834924605221423407292137147882614118651567663794142511934748493467720451282414140356063973721867716955399306607959604883115830856727143038008730121498795867489768760887203404054635046777389997223200718052194158568273226213122477422390837155888973437332633958064660171361494957078230667417970291971527154523537170691982391329432452299462722366557254752037924540787050058817746052871444747397636904728836445867116538968329468953378897857925784069901083133193672313134962270135596658582712365519926750775372966793917470711924414695489415243526702765544818014003322380295042704400811158479587971237364520427434867899967793755758993182132623560880199038406384740199636596501051363690570354543957126246822721722023321273744487306773239957106345150251223834337161979987772479099259372275054370005169286985634884962288304826462510453278099260599169265765879791212655047218792565744488213132334885514008497753256313351132889375813939003390586347306215440986585937705359548042992196019002736457016697472796973444055062672894927623626929455547864759232398654355025981847113332557494730656410705514617282403863855933942989142941904632848158023330600088777399325907598489981594528774845197929169567144882235891598483785553190937698062617734647425899477781103359667555552436020862283712857037743586819758239204008383066177292514466120056819456056243747320342057459900371189240535491037010894372672342272174618258223083546932572434598492088341354308827023736172712719598578176093040404165745468543067357374975938921678650009496389623684835809225778205430822771826810016199729876625761391193127742802492954892670017252055604924243852994603081475213461312014900708006160214644020929326461420434225550236993995954145285122362915565707785696202314794665707187389833205485669134661226711367148749466568820739860171322037939774789436102572424203600245024053292757060618895739928204526707520514081380305704655620989365100752845753928640035010867721901387749449189175568322011607408540040709908412061869891431418966819310717907543226960210191829946327176413777902701480018679330801483755316564456728913120491430488237438673350956831814424807047232701873684183568833280159542036772139494164488516383297028991575891053994416219294064810558598730856501109501220598725962902323131674802301142439835847407455227944736654959157730071686655346220120005299581000134240140314130645248104453506986197300422823523238055557196832122010952963213763291908618541161824660361455737879051521538311861284908070440280316748875669470276696612555833215774929333428343366312411667242402927937306379029498795438668738608459389299224825268805655756071741088357742352122580860841808420142679992471173920846613984235241350327210639178648153508447816211469676987269864077585771826593094177364284880338504873758597438972699216858455109989272960147569522043525468198513620970361470459962737650945546291118544892133834849107929635565511570947950614832732041476901588440896071543294536445853990270549255454031773909326842995857066879393587660885118505955172624888427610537899747991932095711503980431456478241091497122472653198409453921375228992572397296750075657798778418126437482510128678559624126362925848004400599425520361681751024397969740645174381341358549621125839679442093686213254805121520105281718779127833558327458846640428002349991222092053551163483873094258980840336824159955325296965208264362147987124706207582556054904337801537010388818299688366104345627892781779384631987629212812036514752800400437473252780585484112588629848981248572285391748442474220788504272236591164218014024602116710040471975884838896137548117614854948877965666660635099904240874995956058935029531234692286297990570200953139311719182760635962189081931528258346343941680141315615394884889182806720915673052273364515993495019165823206984532574724835951534367332693836419454615379156593001058124486759673805629106291195774057692833635267649953135135564462547996980673470010294818912695723601078776718524470288822943185957754370794108050751920505241612897103031233012065520559384841901168932198070576767826578175491357335477348881421261047403456421557501296992562379509915824057071254105149079922646802903025128305382910657886349889678152119678080779984015399680515022703415229471088475225125219981232775223923627595899302395358865971569207739821057368401850112757399972653644535716569724095912117788442139231496440019126193822448939809909918229520890693169788172164215660073589415702211124249926760352062823525620672865380911997767245615444522556135013393921307872338639580746035031131869572999104856971642928819118447143083967588761601286771847197397264056516619200810086792434828949934664293514717313888502576482725681678382090590142212610082736062038061112223846720929801757253950148458018801094696061423891188086092251741762952233531718814955681426446193880883056949344670011306841265634735641682471060893316899895718751910095043548878000830036213749078905231511203118454081782955522087180236931022738694310299430096754276566703036370918082465763409347201690304148998787093158477698466627503915256042082055069066442910332895347052630984830146267420046955039386560960404359810139371589544706402563253346928978653158808178927262507000601928042390920700780411370582963934966796337340889820615426134655662925913169233390771281134123334057851615524497378888941420941129196963388309497814240996175059258019040709544099249232445381520750560316483841334368867794612418779572323383496861398553969266852574364151202495748401174567494549278495966806864978676102902482790709791629465717127564007221580596280380388211859873799656507612865411186345040365743791190289146528587166357235171240119931440053323550384821445591932103528837008736708573189191249956360041518824802673832933720204011895795920652846172168506150271031593767870462944009300582743988774401915290005214918346922292794446186540154822657180371717233226959375180049537420424182415808513406224603486678764821170887575095378301852338197984073479935835969579907338583512353926961571246674655272530284221287549189889925033007878567668561046602547505928382407743453739715278416224110127876228997906149010118176368158718508658694359322354971578366264714435775352612613489848502597612903920632151276413914909555520454925582511869517792871999130379347343147839902090877251799727071757442536555978233125308095396338678972302712809376121857785811404087255215415425999799723768469173086039429657027474599097697175417267186055270883240962430408939851869864757790572459045055964413545827492664990501179023509161223411658094172569183648628375094616456149759454209724185749393223491545705899385973105921847033848394982154451973079281168532410930581408872808405785372748294477262530562011122464270405633018750731791895574772124517938225505590100928604887634483009622545174379103602144162231717735522539687502052773747519693480301517545589109257428335558536062368747096474240419382378015213848077962128751612631060208296016294134687155793039334618788037622466018412090218471337531770861323939023432869722691356541274549427751856889560952698038393759661106647068610563260697923243709082106784141633864306242831876232930259936129902283722105306567815145937274336670562171946115515348456591791903763803039701227801224907389137137265826731596661419810322947518126094095406421783380764859144851971801787417933500669900692095609652026753591082628964819426364068362937881440609075687750877631183845003850994601185955765714587061691852490460299241764131884852104322773342176208883527522339965491246902133774481427842114315488890093814168426964292695224169911503390075563077646583757933746265703622671363393436555219090793524098876139887646364610087898135183038693405489796800594476179587348432375647102250024259829167160527058525675249943608911218167968821318382140444177571721780396602130918894804475329743374134708700325803049490994705112870036276428784975312859600244163953366629776226681107749302530697495154478418192133363933019061376749705128742025741988088752563853275249419246409759514029437765208980792679018908953509102368719840455170130814466092554083482689461551053155142047661762151207043716007153971913571789470549191741612768930727505803518694066316001156250112003896818876487671279737113961358578150821359875652080177459845260166331516408931045981184154900301332517427699698348731858586732204619799011294890662562250358809406166399312184647632388615670499587059248290174580838103710771109245311397139351574019715167739615157939598161215448560702566328681370211009880213748606028635738498202670460087737304962374806576346928669564675703140636876650134955540652482183180575251530123762670297653810437568612620331753728998363969970836766339983061556502955610991203013133252119106006786871108163589595855367215617360718866818652020217868227612973904503758010036097896630034236067817799808291705491958790340441617011302972029630030128396049182317001972164604811773213941247489449627956814749253860605756940824063188645341418141464444210065270837511861153646236520923225801533968196255539520712597921480844196135482238358053208571033164659005410783299693321490306542519198380013311041272534638646671139585678745134994608949792530364257533705599303164309980065003827761628938804010409423572216056942399814982396263052964579878761491138826193370472971453523393848178860005614173772584718113673080312273610891101470782512184151606938382320771304874766662300576041918030536093801071643998917801895728485227008656224022603856555718279344687629579504424652341780760142757243801702442723413540720872742996112011114263792612193316579061206815481958181091408691059556340580361214254657368190820022961790093116549784556710822443528048066214784349574535275403837150221410352412827365834560428943983653248682565993913975193313446115996121490221633149321698430700360209364370331591567763927966710217400106997727492382514633749348326771221421895154244683771603991446598981889025318221974737189905155447748811310482020297923842483027163775419206225839439795704868649345231578164912413444264731922488904392675908478432659036735445926119676616759909375708754396194089478954543899819508648104322668206561732070888199937508580907191986940780655376430263836353585055192960551351910066128708398030955669141386708154919909927061118870714178736337696012656334210162145653466741765855171306873715338557628251746416546092813382293661787622458471251618572604692303729467777248187999587969887146990669564431633519477754158928207482265941890742782885492405431248214069023799336596459734800516084580179998975571440627114062580201667473747117812210119250245659368578178768847039597750062693473217341822776766808497735019601255924467030494059036895396045861981350894133384724040869390088079945439274800176632073329835587135855450311458578615862129243120014393270240508327995850868811319067168850051342808060985702521569677128472130993439537120690758514243724450973003085888015260907859281855750813805305000951780288726190238146535796790027541705101954172704536965002159253987959833824430280327771028614959526171704521752446086535745558623458107858251560876226836020992914461040022276181329192184631083742483855507029341658935465972967415442810660187668780685690318822519414093832941308714919076283263857027838262197338252554793680785082039430938816907543480068649921389172691473176496971918108807861654577498432977983572755418984994282565166918775733492287570700208016704029423062667512533145496798148726192560504817537969130000523104714587298677258798055487464358270648008224201699513446648677784145000899956886772713163491624412116276317750968198157738882495097482528198400905700515777827741044916213064273803617117451913267332560399466741746719213364622373098778529295451907646707331728656199130795558622016560713809174458478677427356418283387624532393714421199962278085152679195903297499200996616374077365680556028408067999130043262158143542815306110218563789133880194871504734116781239556613652739665063554462290544046016326728700408354580807073529643721795126510215083618310129866495130070648961564057602307263758814580469289150458034373578329317054350464819161794830218150768139012237577622499960290864097709854134189573335006273874253966922236488287204464303817320749347079610428523717439890104304084148218662989968273185846781569039164530028509469606780921152464575224593873692457160132104940432538326648928016760890604202643459779628008243040358989282250580530195971133126918462129535134208323868415501122814692987436513352537356517759387566681805732150023788521677437129891247310076431579317841177456944961419924376810392872230419137453789091800081427603626075889140959383489192887609041748475825835133906020350415402586265961898360918159356310092469034740994051539095878994547832145904390057861161139489391089188825515420368155511013469814223457719306033596736824897641626186367392197656184123310985308753126753569796279021273473641850834813013113626629967178649386245451805662574251649861810470780010427203137069595618051173622898980860545072151441147068299756925668898446369850975558721202858877547486282808060891983050413443299282975384059500806330889432629115139322199421112183627157672935912235361579038834148284136161359841490135622530193097496935626973152916116214292991602072424370529595986286010504631881571334999734546501981829555920965115884880593816348277201619351722629223323997476154913581114833891959963547313613076678055577991543246366801079691440061814974684945843069212704272836015012911854631694922298734944635188197458785020812747781730142014092192376542357053373968446301889636603136524092804213058047401873922086272795227752187683103621352652245536599714604041555631376378316472595785639552784827838769791993683354679850933668258568997959279468473799649451416447437851585103342223031636390785793933648203272133034538054009001816837060774419122689759380270188386937206624336234671141882126928583922018522543536785411994047407734556287595881130854965195337414055989804368747201961618781698969498935667690363169821891727147307445383774408551669837632937683056564601065947877315780749815590517778849215905118977479030401724509847262773755972476459934140034177023054384703897221965004988344182402914308917500932471430628965306588129284088755475575140970555062505058054748303488042993494300334788352393826529407814695452811310881686303918282255937126839670847955632778316354911947913948212253548835845512866072920997265855664901265080680562402121388410438702676102222624737531796922085642952586226376198719859281172034537600248883595631623378567408438622335312735853180333094503221422878388106756639083130423673669611876434821696657367776972460173294758057993584638290921612347333833818027011445316467195638209081118051490573195439214672150276360723342495330343633526051347741460746106899995277662282993806754095054216092094998267634451399909916248095943466146264546846224213300275573476737404441395010053488503529175289611159317158444731288208014865889190773438813345041177757994116683320184667073256571368399781609228330257341883140627892513968509112029539707084213838824646727721259342236973693294400812530947941351016038891772369994079944005300410055924109680248851283818887978066432451977214588559623111095571695006469056075093843505637578812639840981005837084395849681128545138932850175198974848456966137354448030667186580582948532497219082123937488357901184245542279922500888126134381710385533816836286294954974094940721025960378368690114661483743516969258297536632667353108989954590626229545570042259467907913462630894452134683528042769842104895206705445374251721509755950689020970022205059698359964568267466046076326461549249984466812135507547817259105415119423743920450021767249190903728674478662701463720327368287162403574343630546652882422914461054576285593349455884228934681709834174839317478090218553813727131714217608761440458866888922318882105717114056058646984513171593081350295412854932843089558546685845272556088430832569424812003101779181641744883483774241906314284361363085822851388868609825593427740279652930411128984562860470955961760164234041734463384456455948210405432222171107436148015903022776887990543740398383810941653530002144999660053006834514871951267797062335045304458328833146850714226173862743103529314657951192371997002405030412506736692452905173774872711419021027744144391811973628357296305891758008943040973718923793765568781269602151802890696625763494262077108438017935427744775442846042028321471414373085052416371213570185459640818847036649475524175220059174915683310977889604699518700513704150402960420979580940418507791788165962942005401041054002211898097915635672461214557651631953140717337794517645988984942049094273641351028134751572999034640253228778133842479490261843423839696152360288949710133258597306621865026720358835734174994993219395220283345425448226337579320721286973220715629427484147909507752259509155870846708601385027646220191759209812793029673655132493689597280657125260440943302408518079502145607810595553090905949520613887317679123327043360829137640313332966684662477043647084319829270857157547848141724897863660205873212774065772836738020710855599447490847000990279187506477448011027620533522903205308254888861110620050668354484855153475902727414129829760065993373965679885539137821254691658857054337154901431090376246639518872971648791544586095758520773175586092766285917042765914198298869704435571623703673482627744574317739204391734984656660696866165584374305074212294172729406853055341977914607218448988348148095217525700566509052479447272025667468486628488236982298884522268756468063097701295481251037630942399793376256583987860020957973622904057183200332756042411633977057048701471176838097157705152370140545822310773308889159826020969501270910365588065009057032100737871170529276518945177171735689841565374072283704898300536786025182423212397928213403421366417938406140545017397267400965848435310508552366485605247934452965309399909690451646769773874132117242292881763603094479251436491014670277626758498372381418656179298878837831642303736536722433827579392649237059981049340321148677405554204970923548847336537395149562822658208717662936480147650195712553012639534034798201727893224471301905072721488417631090229869368464721756698276201550224350120428524760933218599580490761744485595344111725996611706164097590861196454400826343566229172263060342578952697367326425917356055864279277415238687281891054010209527248553133246456542885911850829785487293618344097674355332587232740038437870310164335800226829157367507483939166484078399344779006019119083096015187215195141706306383399056420855346653142044252234225485841255429313825936226518694085666780604996534720412928607022257830004892113381551754727579449579945884457638437646603241015425464990593645248825274890845980105511927498887913502511622891394402448191360553519919357057174847346657399345311032597835236364804821987474681729114443889388015788459463709329960434494363713430716892700924442528975922111591964107455890165411323258584190702663833334127519505583729648850472572562572107392628876113682848923678872516545779305099599952480121882427941569874424308014594642547690800890675455842140647930906311985490754367227339200370557379413548716306794160380728529920016782654999375952338144485983701691840524597894043661213149826393694180212856259863218797598093107170138789124686086470025262920901911976044670740340102894726217742579905459850891958586983866431914462636527050809442362546907402968911517186958463842799927405418920373206181686346144577732103002930656843429590035894064663494978935959396538044268159122934730289773364860703637398148622160360939542706243070493416915324757299748537663811287296023573775202908791739825026159887441658381701471766247978635868083130265257016333689565809629651254654029610511602756425528626643168078324113135997352333556369257546240426801189958637273793168228329237499149248241955187097982603769274033315876604161277063852877452672569060565901895394185056276600284449282275478504222230644844824310781678122232952818625408840953662348240671867668190898366427792983935448118448459819981142159885349424521378302324279249321023209658431624419366982404723881133974367689271920134365472927382134120181012979620459116333425725633674253170259161390637147815376357635492196624687678249027572954438448718211558615539204508834707287855215895889119049107801020551121725945896560093154705870721924210793145215593916183538449126718065295795197916107464812969503900646640933636601758280948466533406907339189328580856704688863804368800293034102924938526945735321196770917040946514623114093595900511806039158854265693645029343534791531651090445984022998154928461333007241903787632420321091051479772016329749558563462473924900597394239031386963671021313093678946600876449753733254887055738408591150561656070314096134856109600643229840408967676990832107944843055134279891219287118785601890089674707161342658366446841558184560223031371148251506318674325667793010885875567668977675269347418965685716141582436497651410726869299330371535173725661717949629683891346347266302105249450489222190984396890121490620145317696344972736956788121322502078667251995714683741958709471149698285210691749199945589283229318652992427176390338588273264208227971515606051953556394893726062960571049179211370136176799500038040383379753929104615598639643477789327082505296205883310364168945266894842167362618502635186369924942368408766471619492390747851895839097915424100010230172429932135965786141321310999950093587878639582070981183792314034053531010675112232620463882737017148511187896302323633383514413451774353284633375510034294996474271341666627002299535839627612817872876379393035042694016420615392732869423208527469224420110762650051397663290506416189289039411714860104378185579430730655340281610996075620215894601924084680047132287908847943863893429801498343912989048109830067633222178459000740710885303374395291468267819697319837454256951513477496731046849233907928352442913161359238783069944812114230842215579213153933815199247534218145151943745658951299315076088079349023527985537071230174716210650956248128331863104293928835308090423832790853568559186682255735309847531427390560725002714988445706147462843275653482329220362601473684966540947192478055760591830257933992460926376720476787595324944394972385570498406165670345133649612154021479875213727086726419389516176332166585779079981037963495364518243089232379109930662452950550984157927613418513244381757214494608590830035934210931090433008233099272637926184609144321299583574543927613332512656143463172148071714680890886243810633538736342841825266861120322356240755700835270626182149260603226399329809872679535121328138436889767684776088081190797775850460144887973738279730884234890650792671651957660816513898084550682700155704369209251199712067182033823069851809612310307066762646714020909036398198285837839668397806441854217976558639089902014733856548857209925104608688205710319430225474910636522243705561129941217797519334699794512132427958688999947132670414308523383823938053894952727168735870481970354718945055439419389126761395923365967618624528164836662607729062756276842623077873704246654163263568120928068688264172245841938585334577956255833770492340055516032180786522534287287707651391746473217564839532832615083073947030064437105213983407955953137903149192010895905915153958607983617834054715498845179188325524015069026077817458744581239342370331268465419057244201541722003445974644898221692909040899509093227416164352617681302755853008931395753855192671569662300425247701186812218782327451589667824971519217384715699815111042279171765232451478536106564279328499447892935105217847169101669272415674597656154832657203323902661497479986580796598334958108435038623224311348263164769866789312323369612302264212531124917654845867353704582039846109788451388707544662602548473726619207732535013831453876743801314663303377778491822732270244029251654178329125020527347209001113582300905539324708286892249320419992883714834007434646093240971913027144486193593434633014225167770496718186959254817093652665348196539296889041370840355884798318972486740461217044108407532582454307754991337219188033550033612277310417337544861014532846869052164912482063169687261296797698405936507427358408357796438546045446020749157797868873435741931904819047347167130248647574709425333506186028840336230890924631722976883805847906780931220947554602684981169630999003931814506751347269860860726528075225711423430179747114891518377489620391199172002031260531675329848987581864721895127222809415719784626099689398288476824241119748223993747574037863475508401890302937251339797298768808133621678343843294984149784238943819327975866350385147836453349084760509084657878944702940641150222902963914813369538712526580825126308724282609069892499510163774534517262786047196239771562534157724015994996109685726956754384208471450155515968519434550480173590265081784277189061725183288015163440437646712649082916809967054807839384150173120553445431227534679232812874953572152507026219035562775690233008993731535484035890561902554226266121384307573809223038961164629620850122660616707015301822257956314098526419564822289737739226348561463317379574422991431187202361033622066196075656311623929757827170745705377866103192393672660099741277519948737644630471658779023694773597919721613994768942780211590361721634226892897794798077410115364246615079142198373536448038315770947940027934436649482063374406283562656022450419415558904624854503127562954354434799785321609242886934075267163277067127158784754866661038583897785902122644946861756125318686980771966956582921325342099365796312932269050755633978172716024520520245703949772866974545713968819409767036815609441627728587840102995982080641696200057200432683581465061492883499785788900557082744884337201098617353412667022361718885559939766339566178284715960230054787032138852352716065143338684698828789846760844000491736272331688343430493523230037138433483614832393824447358279101555640342925759404206300635614519345040877861519931445664454311430293624382475099693716231469595527457218991402727957743470653522661350183928141684681830499770734455669626480802821575623532913337215469063307147579316503767800076153851539770887730896864566043880018188185062964185398699287909514062187490127818430028010460212265228254204705207710449444892846436987573988125324190184137900664853485469248678436692120104136734247743112585517948872174285288735690592520002521497261942668129741727555458236314949837686617827198208078790174795267872292351150395825953767915017421286427472853327774092685257324732155760437599057249981709634229808490022915090035784223987710458362570222951180608940093554779569425138295907086534476102375614739452018221087376576745777120990641659281562623961202294254644407360178140495055621823587087169515339149506807483134684350285142528059935975529262285396033654760377849828219616613153495541193654173816911006600645763041864531762191878722153338743451630289488877441148050154164566156150363554721363980135442026313451429190267996635459206533557829700675233987285416204558179664624423033482021122765123875509682619579019718800528710569926072473562987543346686975814052718840709593341611222569272490593608563107452692041960311830192417829079389070574578631821502592499457063059943782258732021095686441507093982524405948954867068511520093317914817198427968795789074169522020298976683394238275944662094847373160861697873975098268284619895891879027413194341639222618109971122249007908637856414377726940595432464887649587929095729056568736625770838756125074609213498058288053577233970565086687061505703832510538996166461980448328823425516325889413025712378481004986647587343391507275487141806092072707601689885214189830646767654349903395754403999629577421401460909477674950377636764351909532541266183504068446963088172397282812160593247190511294889392068918474026938039970918287736922542519809603017568602222226038296249049046730672498510127323132209732377244481226198732885654995349334995055495944414710434356810826232132608490852428453567454447642563359577972747733687870133324011167167684864972510621741270417314413082135062586498468316715457279498608290441330801921387709364576467573253147795648694152133211750834254171215174684633233074182407945132396980221523614123858043304171780245580849487083513549901678336158149879614600670267385750070248762656728883938567550089482273102108494576421481860474548340411627580835947803199327256989801502934665308778669936413948141853698071072494799338609716315025905499468806480736058497335303885129523054953891386299814122746553032209004625251482743507131610712703855916076288688561537322827445640755079365764374018391252687341925684186456451475933739232887495060178118870310734402674755635502249893502414079997852126041200927114766320778715376060783807086658346963099538371816238512674764168290246458598419123575958866833291498818429713392922376607444629941953366724689471906117835146642444708140022302526367181704637789713457203873686295049191696457028601469182372781636808819488497917725475646851352821743102131332339170098797709121889045079161629032473998969318
