daily pastebin goal
51%
SHARE
TWEET

Untitled

a guest Jun 13th, 2018 48 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 673300166975073240805441497581537970259533148734856839268500673671900416389731890299007520073847142823516888022320195838271971800192155361539474443043437624845031450379431296573327736111795747043483275648633409686702709753529499367953466761461579379667837058870872925294734663284610632815845077280308332095759156526361302431650674260050582712371370656217020028637984190639951358445274617050948741317759262828787034983279960383442444469940314759196543613849607431533017848572887975288814717342753064822884665184782117616774971104924180872386716115733216755665829414796625310703181059865476008573432003547708526094965114052208200165498226893169643964345523357418321149240556190038102560996415208680717051751637067873954648169346724381105590788608764930742546322935676887139423694036565845182283027066857153040487031323246353531445236606981765166942771876262327992293184878188318274338044904092628254625520649648038830926628202142887512929403278940705421593410735426546572272610988885581057085656716992227392697663697456703301956047014164899269038239246339500892052255040645643089710910647340181401133636310755570185582395656240809636157638019632260242416836151481558643696716850487853641094496664995413614715631328612342134673059556338038030878979784947006045995123652346180711532635933362021464773186178721274986618865118998521756627735201494407392730174758626945907173358735541516023661295851096685327654948449043867286430011911480527991257489253644722283859466146577840207946931354593155096214329213353400392730190146520829338167527404065018688595263950986299922547275106363027189023335592344675380047946085204498464364360424784757080833119828232273763757562684841756455626918200510948092349185368298464779219438069962983936851250403189165169661906714790242340525364047842862125738436230941692856457135862141005565454411493983695028383102729165374360415878239857223678299714421199945658950123875545954404461331360290818990556566795327838859325884871233928137681658779233645024551241940861801414555067379231984797364614993327527734427422860281107913118978155150451670908090134581496300972981425187699674356718194493559425687238867581850237688163072717298193991271822018698371020006972372627405151527074387736284854483670561117192598895323075987639544652816458270192409515822858554623844027385637237268760989952029377150037737422180023966139968644336081109828964159336072325928862309291306697510229173733045502532970559897751281167448864625153608070299805084928588921978500554234493051406232763364159094445509557305701123706752160446200625937128654430217499504194231431392336419564094207296210923000509175281482218727244069903770894307236593572032243682879261044065999102787091844207643282524293328876237410858064223813557526751573675706998667202200629474257477194468922623790669108515468154087841690240931820738487285546893433668120171134699200153010725833398466678257799434822542152550141415746440396797822472580664846355638392666748924876101961282189974302918266675892987012151990834042377896874343605088053408714708312355576211931430535195149369532802641443920229264780309873652998905988035580225445206363586408304442396769231669461031410934319896798319911450410667557009815234498868894854272317601239866257531710041558126411631454237374420643221442731783379171738397898568890176758225667026194941096615907735992124734934894955576145926391620425512644604460510573312583589737941032735285665516774497338749838510191527109413243265331671656986353381033062558575942860354790688665380487592501620917186277488549391768720294098842317478055180688553041984915309607353218956473823382186615370412410181443837579723370437698186863453702711265809711056226817524448748212757169544084550292112418379144049670001410257493825935656441521118744978843830547771916332687622960380168446700202074347434716610573825057759733540049038262257407939710526500096615693951229685865076842166126829887249529608552891272854245644563712749784860477241843887277352709366611204174167053922429989445882170970135054275143521579387282072933268399721393106009202291614850561038731685720597608523700479822955914118726041300804181811224478486730593003463663433452265964920789822892871830606863311311182204904495430077153410616517597703252939815373009787510382108262361994724539061490701292621307228115718456191960708809369901375671285489387129124902876793464957902788687739833748652924596548977581786041028585276111485288578198334787088045237484963457525465353737367891914939965904661405683704501920483554681210059558686574020504651275723227128426156306538425166518750922494944453091833610553902334079880066730189767888720702050128193817473222790784757474967167588761573528978058419797053043489635450037235520857504421521467051892680450087626799208063651554347426145573936781937091028524491836932602580594263373463820315294458931583927385024523269192308741648177515544251707140639385319816655315152055889196141755625265462003205295670744707703809883908656601244987702159030749403816966207807756916542209071998066014083495436925994245108276627602499732630395463191277056829118263851404247914206373992886615416783569360985817721702393271760932247772925230261676490352871552859695095934062925380664240253605947203448933719625189696376831590490439751796029392740377304873187753216924199445975596765114135633319685443570074986832216022029566140095995360122788374573777808509129616831729509206945837118783660397563160683508869245414694384967115199869149004600272235303488886430889714121230622768211302969954051471961968839330227740433007169131931930973416097092348271337668200981700990824377798124970982353881610365671529882026453559729987812319910082180644993512430712798743620564989906151776006995005784157370769905229178683745539453885507055121594263884452647278532812334611579718739978783699896319380902867464940392151442194978242045681435848547122365865511907693651456256931198724238459551693082945046631947174716762061577501620559028193210456164904985509674270155388230698349847535787211264074241284608384791113433589965890026029182252909463600681906352236154956822213724832184092658422037351265414716415130496265581322582507592019644004403133996430327121679502578077400933450871051786563537724997660656496705199240026755694926103678412505501182737793123380844969469133109564115902049817811506151497371364344788336920593606784310260697610798849580618445101282757729465291327736945669549580197578959922247408222488068091408179716566610806324730331547691445101560676902557808911416820833379800901259905837709258848657424314191687170839244030702593805730271508172698208356092379329286283897471755151781711329438977079144844895545959648804512619819227976003373561204318863005977817418090959702846101354330303254986011247620904539931828971826048648558620227765638930794508417152473484295079126169744200007532437566360836095352989851249381307237963872141574270757537095727085750874399842207221024373504837453107613950831527175726450224973442832432835670816282072997159103225737065366404718030791435430204198823851406802444573824690677526228767132674845812579798286965252554005500112302716519687590076625686190472024267237363928917331906616662879533677743133420883351882749831682890212394654677228794597917118917492863449956434693660264838045986547822967916649571960037325802857598885206479089854412202846320504274578372125448360049131960174573567142997038656048986682843509954591507737885541147104974034667887459789055712317741192087619097842726979263033436626277811959814386539191034561771257028458834849360040572153358478116049685750468790780503454503636840096433030797375032682356919319194223244359857905501955752454020806859743948007296342008525733616971007117516765720195957225392362551197907903344213818692663653616759941928209217069968845465430857857259305497015044252843453198301373351386281649407032018560954838925173446877824396485504883988157427908670180036207093001350065512878625301387010093922681886238433804642334060565003508117885636761996871000663551695223202491872932758832410954632871498552772688024375130137071811100853463273556229973335619103878506849992514666291067573608778665962066958334459027354689512244859822098758951423485429952474657080705955362375123356037173413444987349457217625844411105188388777581382536631213041221990287396622323045760417533194618176224126056677370290876170303657556224720824298974435889956735460142342106866593572380293096674872660329886684711858403830914079544728629778296070315845246897122572763680303153297196870501932417748111131669805320818132147981700796816731988241703029728819335892271226492110488285397714185119737684359799058152202015289028582052908261752340180045372651953868996561632311277531756104089071965812842646334186654191664632390085774160467343850358647151063615223997701426170157064304182584105400927323929148006859179692705577428281993428776103541593554988182708136695548287922828075700637812797191515786615721873880118979506454635291118120501710938099962888057984358357648978951171564149254967901211540783725761874428195257160753851708366580299945901282678929319083875839262414529078425672986880597513810391044314378029384224774669211417152811148255449564267578850005131369149722852696355105170636090948082170190317171615091050997260510698771361001990378156743389774359917314451183151547998366099092980034574234327664584816737162931729936230704116071524554992954238686763140747761252835591474919163217126006841224969826833135148470255616270826354217433565255290263478431633123392734143596021766019216033319218950051530592988470056168064213577786429646791387377659445511557135747638615898037292132739299916913076054984879599628865988193236057897476510481211771403491469416139247980016917160425036289004792670789170301658938948675934287559205272170218959812023368261308105507648995975226489363575963240904991675949654669969748032578472093303225518601530089494063838899615288179306031228006140967057976174256308761409537147350442612998018078945861932704959902719152067079897148587321086745884193832654564060724344057467658039636546247908429209368285761119660492718354142880172422570226787861433464760317450848983859902223101835567017800319244153026148459198712316534654836510769643972506739995512072926183198972884633854533779135816857843350336654333026007773718126334015480443945799308908774310023685639399141942046503260038533164063646356740319895278526838383112864738696224375855681091353551133082053275654194543271083869362807940341259858708270044505335926093698216395032890497720500184838795369246869314713609898951935527147044909853907601500717906217997007930034613097846006372953748249978569527751735549361604174473496408564495956846923130147131652188525458805454312875948697413587613352997936729889321860397941575433133691445307730543459017538833920554844008062778508345038705528425244264011865647395812367950092248462750667148851151522978210152747389621689664276860362964104541072711611806923151764181309209923786624441731905520268136816061295064427357291539888473192078396150417365342249807153309577575112551672569731771340600084082646164042393716967179990759580338590856474476300317890317724827333135390356706902656650070343964088826987735733465247846691938035665991390696663850558777389883937668946137449722035530231824248347609632336034528208067989930021060489615623207079038251306723318517553044266896884763379899641463053213252678096349131521720309385090280842918698543824863247676310046076628054324983742628915031499920640230652755457256499888016372309212016776037464770220383406648554007957418769349586055995467380702822724244318162495657427444260263809825762643055234600252552497019422019948621417929992969061960520135046597550799252079704140703161394002610158231395795334096258806405821613170546369655838382608079600824193026631088541218557948550158764070001696622715100223765140582800164940423585834659198958427935981516622585336409191249339300582755962649864124420901881944309212133872314935332331266954664634369157865713760312206372181194527526747123267903646207926705450808334570714502656044507238449675996274790702967751585778980462463646479549657667183531984212425403916195164539134282926227101460025478902436409108814665603496085690860662193770000857870218119455115087627807920812490467131124535796289248075412212479219751042421149071038212944523515374214242606489609356558526817092112648732378602370820846273019497023534500946397398115418956176160412742846095003981056177585688003643147779367609035200711021573856304290108998939854846934714760498473829238376316071457953367044889094369068388867538652564667829392888642144383042718088143790405376957541141140134343115278270689211545530219521546729385782287203478325695062528830915879096616406941158228395077827963514129087911377280068421991464305928127514564662546069385893335614314049097320432740417691471846134667124682471869840850176401079804703911896692345661662595049438973413377958868716503917265417990884343807746118752122197963250392927621994045106317459244012168975483978715715391875718322725646648381859244560102414156996960960672232029814618387768582494209780749066449070471058909542769629085435961443884056651818868688682429382796482748207917602231438023994684750557370079630196656312800859756766898371139132924736532245196559520418578972677128379929521917591240469210727476904244763775316890609458211051145688343696203532458880999441185369441543141172387836554936381522208973252939118136806960344088831196623529705990675172503598334888970278508392759446532984966643789460718734171693499798588384518261917082945114775199389083478262780290054740078881408014565811500257938954595869831520765832679830614538473982440146190357980874006768816599454494107448427628135275024149865734349921284839835782022604041877550668836512679430241401381976849377175005706966545819575066636339137861070715653906930323156606268208953688133465109866915181425240417884827502850116086345367464299607704669027443928894563631968737861669739175914246176544749646052553510537366487302956277069865543215152337498465856875690321703401955796490886115407999911197583447597990213520855196729985674641834457039341974269623620986982121746715711365412983193614853294243782044141850259647321578105364207634024272424898170387347893653167004318667914431453886415126203300383193401159818465482205671483539619550121187921467330919927424039824116939277941748935730664617872885655102945832920319940358443555694594805038994285747805129092108835200743775419527877115913040642416834400523625007281759899144802553143247225443468480205412735785560818618681404850312284440636625718328506637967753574853613435200689988734576556053203020458462061509632602221635439614026339634809120326322653061094555190662494589839630548585933889512684195616889987490084407457709889907127719234614912123472799654742692422649994171051970310830856137224843889825514419115794023451278465689488395272958121399680692515442606461021975556259074644741962666169298526593326697133125558909396950408024953332383646422166627299564736526035697630077027028423710199670278221254177076452937539189004993412304421963823967381929280948749666372256528708912332463303775428387369065105873878871724407923387417964357977833412465215848689868360190218482370571931545191000537613121871713388085247277772730386984798184527108914486970618912666006292687766090681370587313193838834956271045358567115141803919953210926131516264853104461351216688014625203746400834550342821647852580520934301324969811140226240416522127326459893572214758413406675552515495828439073476010902236226709036440066675512285687902259012347595646259373099327137827148821519788823781399785992044321025496933772542479260181104922950276590786022970521699826022592801181235857159298161376278307617621486545748086211214286237956704342503790491666013557950919058008861160471961981869240524709284539300959437457159840986075923394036986922880650902943541156136006827673581467126932173889009591113235862964758636323054149272595884804962577209050239194852065402738380561190025687562408357415052562482241977776674928397779028284650179031605659986174189878730381233283855104695257400147304841454274365914558171464850872712289038081050965341156766910263677199964478169542196934207200699728989656472203550162259099378876573337286380902098981932306724969882168484091791224800187053081817253445147385246176084585020088860242846096888887460550702617009855678237833444952578299354236042499316714315374973700901261279683165801177021862105998511271174016316661696729247349810483262168116324242857361342853078858015114241772398585300613092682627837587631651434729854881455447705627110457063163064347910395776109553087457038218615478983344863508724415447624620396150865223058579154662965030142736301292355203009596111326276247571853027939778969769840865774699449703258653270867070325441993636021344251475304596781396898147474034819918203195952696902448528328956055888652948382962963037009461855437922779208662088688825461360714112303169600657644795420284734648872169870414993791559497985361233292593077933252644122996204735102133541423133571978771053591888043159474601926611291354405877719111447029767005767717106654372158401989530238695080045906014873802036990457883980906994299471421400737969366062948202918241193127310643092283479264614002673490815170521771342292834468733379438229075167020679477810853723400275899255836472395928839861857396282239099731146365611083419438496328785145147738282735905238072550542046222489449515049138862262843154880884394831279208528657006248329034847591726184463225595873791273324063236217858245764415589964564121880396898788701885719858931180986767991146569164398940183558188195411778232023079207101228400643393396164489480082268110975002131252172639856579636195009569994063591164881038719834053638712848284890362821532130362246056378275987760238633240659073475296740722346657854241801458069379904204573077834762148913483706002304679979562472556220772175405070785345456169438946163412462472415976600131977492434600271225869705401648902384082084550070813347895433368788851061270971474149117200397441451422817032995268258832763010543929146936759150019664338146433909040332130475218697857054541817446724786533710598289918331042403242128905562482369211092109155898273872508371032115163341082960075572012031962504379853789358690856358453796137358940262834658279971218789114190687898608595669127195520095122902918014979629197322140967354092718177248215547920969150539987358418401769195967759060720843723085285241331108774425689539382287591285498930935436603433943954840745291700482204222461141856594312374954285719061666115231266192220722034174180493520924281666630448151683403959009974689932989829207958826036999560233502729894371544106691411585447040852567308700470333028033087637725086589050716020461273382844898126612564992513003241335662236216628484160022374539628660049917193690833841289287506527757050093043246563856048163817679052163569221006357853709740976120266579597459666363008841072088639580217718486280085999679818803092300345948246720320448409142694661056946253346373380200583723077557435361926472326266083010201792811447824212835553467903153846924587134039478882689553491374068616085759230966487510086229847186460695262919839153747440154677900325953837578378012346916757814937840139680565211671651279177810113414603913567610002423542823842910557561466960836274114375782349094348872069984236219236580070988712205825965737209493516357992394793785465753258649886573970535913757328263103977956017833643608580396590544035595757474509131952867993407787839340307291379244209096061398263847752121196297516973493621841123812811439178087089519634933291792447037045000436091388319780272309990625749867618913758700108423380906712511557676379198822584015650062107979266998489439173120470145961144573903117272226482261772116467753374332059143930817927250676642178870679609385622249505136242511286552174598498291719622087009173604524899557211538027701463460834914270493188588834118514035665929206586307349724764925526232746191313573877594328818620679922167139217004335335525022375502797953922400958044576537225578893993356941503799625216884127584432905178243448779156038593270600868783125333952085161305562699515655939664646781610766369593859537053570536040409746929673571567927717321682844535842571078931147884895162166644454998304563793933040016543502919149777828055731781505588701605448493959778505402841451018961307881309597856935929115653493441469333200182829877481710699152714795332179195608841755347709270811151231155577104172377074312788476338374292007339379775451588176098647997285120004244442671554907283112041361124298818942744220036945162104446140585088279237868968036667718825606632690567336847125767380721985326993931933883052799142740647141509912879280304481490039278651278386414071014357382885124406083802150106038154383799718560729092271903685906703799687870391167639548751337284538859172804346894781899567752610339086607407300596318854055346728384666320844655660808896758984254195769207462390159605653795231750214034982864394245486574417271484498598063832447635696028613259786273259502242512520599111694394552871076096959469246227617280946464450032591883195297946165431499842291153840325648927816801951531317820609743225125521798120423224574952086934989732786867849608409383518199844132621657963564276854061923664069460055047293721021592977958208772059521320895569890611316714751466215154494548081486318893315242657636559278193846375302749367666907976596413552496211624521166161322113600034368126760560099375607291849927151580009587254756482529308255357778144882310355072648104642370954977779926562266970832095619774249663024888360774911083818118321552529607067285401386976001334461671465473075926725743873029123227880443965542341388149958991459275835050857229393403905017785107273169992829926358160899376598310286389470365727667953106308089892898770791569730632928748170287921120580196294670758053241478870632707603183940890838007997691720719258529837564432554056474855179694993271515892705390758218351652648814096750104644053393128132688304295378927569817691660143517350900014909400629725701165880762869943335531141695440561382398981830731842335183632087928768522237710774460363508674906632036380524966170207709123318134104662818402437801749764810691800347544443598575972325334135482752115921064821215203721047653722715045457593783548251401782597620107622631381974015535374309126869765533201401314419529009797534520306703382885987029853187131663392737759923236356823063713897065679350923499370845982321459871620786791601173281938969350457560390737735583558467876230677401134858536322521646765582156298283674979000882391229643816795099943210025537298007026718246262782720146859800342425213326488677982880073475581136615015626932677332371480776268548085552290457507471421724858407100144671250198087085356060836387653979658969096157973893151831641883128386398796123405723530814413939359626832090592409208531949353586749743191462991343488525314037622029234373069364490544473378289433188044084602285647022177048183034111275153892183951263607536497905069216530340361278729485914466770520137850889821802980063099556743362185593252242396619394384076685774289900495537324014248415031133748841429938397248251770733057357154184059085118365060013093113497914875175923591451737014591438349441072056225155347683009690076244149589259705155544216168282644540931274372566427431132476817279945293508948306190830064719263180977345922261426017173789368693192396405344612866001615383147646024943417831701003072767164202200138960280211767801117853928596296416623818443508918098748859728971380832183878870018281481910285263993944249325169728111443884160032653338885551601554419641837829441905230410096047235225952040460454610950538373534233857162789289949061801740086225407191739881835355901189523461674225770224738950496381941303104136925726404999479742152585521846134038843650284199393383979229703310174567431782033862356129021255191389363662564967461134233571447387015792261843568537307493078686052722130637883282210321680332727127745116287946156623476763497276648337809991809057042502364341401079089959506775620960119290878725417466492132376668742874377026873290862554694052704332600543956845626318149847896552963593296496348271995554442697965099455605203732029312545046136436896319493127575474084620503760766949981632484604200357434922873484109765712145462891447898593985645596531464227394500025842730053871563404732975163521216449654685331006850292957503046971800949001684776980384743926920775334749635800062244964861576476901460373866763891150202684826998310772280742827283993585170825920733994481122372048945127549723045980921577066861847449904058134524797011723332415319147834019891705584726109036252935619631683741354052790555073071213317450986620856023200510750535834877032845121571247947671069618361376872813638126476930177246216467469473928841979029642479217807397687248738923214246375154804508477212550537397850627762642096495660996786234162447925657178249025802088750144659976485564968563030579020393762313513212401697839506855348466689269546521917477327668825088846560235619696982554151917148089461909824989476657792046218792105954857577279244133513397118090410449289554161860036224683023172256729454836076070028508625328977829810076698130427246896506512696058992179308835469186428905182136385794216695696936945616180273839009952306262970040617321213681182817612449251753497712532648187539493337447842707670679822918525959725939226618489662062986873485778428848491899245613506376392002365404281943223560010774150056897015830636560144420333853060783299746450905207292191352252264984982761760337242699884687801450599079485608885329639722262978966637175988750781975665399082796922970900071334014338032791657106975953363141378771889287702518536102483540463609769927445509230324005626931344288748082664766435168198179982414118238864795124266517784995311881474411308657428129688779791799664705685710717510387207558587932655791027899577954017508439816808116024358086309857885723230981426763451084847123885603017734040215342894162154833371286995917187785427014789465437349175415759134289645912344067410277837632579835685608981509239122931124452832917331447540631912675601518426196822394940623646540753641001906878285093277139881148469545179002843859364778778767843446979131736894864719801369254451581666665375338693498579749977297341088087898814899545994315715878170558139787149961937849163693816874207894776122797111823502682059994545011921641289797687618683698170966056075227678902374500794762176601826067792775033752853595603823114901725622679364714967751058474552999433063583792394424930389836880028375513515220762009351410029941050749683615440543223449930258543233713251366161781544046167651064677628822120436203303312972475767490511488481026469821206630532114383418035059286594552997569108293924864770242800994417914714579284977132070246486246212386635134325270438202927462959400024875219234622625654258449096203662396732847239674279801075835415876223450175411282984587535244307048690329497568228279994443323974734015089662421228363057519994143260667159458968667928397334672346664432582446339312239354071313466132325156628859141662976382982088136150540608307670840418785869129010444385731885654475850318315853587264627817925356519774964972210978822365733980866819264607614181316017091170880306716496317672747951777423505515314731271760344207258376151484901941888322393436511898986593475696601311087301875798612198438831562807425126643132439267608104665782528870406900852786968665344407578571197950255401757253770325157765739214891190901288680485741574041208710841263324869745485627204380628916392500838129010368014893903402722699756476707070108872413308304673171899270267058629831622576730933249571193940346072810148522749192591607182253613093393811043445873195286428979899100901797175983979548780716204978004743388989653212166845783418897323437673249394035366060384727414848648638414946536710356341825010327683329421115725561001831811345806104685424505025490613339236131840788275371739170028083461010375126933286669158579214959854525438506550168802855767981081407330396592790093566377654787091300265317451847932676104388096074670646622513994659362223908607668117165903341341521480741725613427620802607415596648848504746021865468733230719626796357734086807446328712923930505041239758151024362921370001684745057937017132480125879893066027324467648347767380003913310401035593721508643707794186125953525073933153439077950928071289985883499303151501319876635271630069069441195622508354179304481330740173630042769415365210703600814173350424179935677732142144153209743185813771551622795735925037993381797542339056171154001362906334784631992087860119386971595343993944055116374927510318785581298529178360095696056161640409010243333966263556627689646403272583256281756916668408826937831285775182542579471724236302626560704081674926558876298867985477579304071614386829017092683562391805422624477575979992397524702001907281599971032653995121748965354396762362115364492747105754934151535416040524298487286069114069751845932741695419048582098930486853399548360008354941604639008133993714866705593394025787327353024014187063164725691578859554824680790629403790347771381188084037295027455905485104442397945692775494222924425538617292513149490766105067389536041770956165812614289054864251194002480553369130939637478207620983846027902445767477941632927827674810177636538264758305316276775469248890797047082562252274142360282737249065908292162687674879770883260792378120493828057066900413263929750637534299706162879297527477611296085299447552323852950864081485133613366537646627385629179585126291342239707734817979154605155207782273290116788950816899204495596564697266528122006814914500060178836126192822552568564560860916220853568705459755637199417293417905055942909599271259633131094643823526847510342880848596113371450068557425624987071221089661441898758713311472594363508676342791268992225456133760724551538160014771913498737807298076182642838293598001075825116197360950173614731565630958858562414563797058231690933527421372445717417013202752518543564145731444660426962378279013975728769247694620233126382292804343592917970655477043164145862386341182373959843683173215126461119835403143603890620934724145156906352901011082844175205259311862859498471175535715114566396771396731758504920334213138891529950524336276909241286331679343149056753111376724354044480556241910831060444285361884641597450850268538963244970097995578267115056966040644949605751630527539461659479189178418599220069589134353146859692373539515364828442923198142301348943432538247457011984459620928899815475844062476915328260536312964979095796147884970907874953940508429920892391609540121296496920481663033755825599594528080577060479730741536399712315575667209242219851437424039274361465444866192071367898180496953101950531515897047494873713729096557030576401958961262591741646563234805044242591077691101182787069422193374241633417475186877922124710922026034628810507458089827816628557658187307321672266176260039703246417567815011888024909091936239730119833085731019147074566862507549292543622316192403116120522928575913032108188952773037366101099978353194519909361649440118966757102980449496916640760768731377884986116094032378641504139492737845563483134238652418729183734456656319567887828301922147579054091972803219418448067863356149396638213745264867733523843842026513059178254688188436091911902860578135029522980096447514628164821325612723755731258543302859070505845702718334598254060630404484413921885561432242954108821438155515277199021957659960475244199925292136372827697214999234643565653260383287219372986376444796206422378671440224395954961393717971959180303487876718018959280077470306101244094700215367769387836981304227089099539326393350442860920917177109845457881530242431702675435811302095215574482952894952047209383483754918322464408702340359870707599120831698408142907200813792265395383447629171899298517207288187579980424277299441178420692680461563710116302845922450331545855461937347335466796549222598667108748994352609297458300516127236452241270076984644011723813149459507620812044611258403371372745326243222067399309966863763952215154287237624313651189393205204908717905846104141352560017368433703522884930985318814103471121621389423810238601826302583233520636208486230680082712812177353574036056464662049956189307409326326368195147856344879696413943924918627696672145507130225451407292070586625582470839354455986406448669407521851024798504829231470665873583094290232903252294310395159405397463718729869222064233885841260316423959015152899857352910990926458192767969712949315784795622321544533641839792118845093693832350696840511773829010529271489132590810698292942389865075588832798120374111395114963319793883661325728925504839285580839784169507092968676149352557937297690203594424697924934966077942034526155620638358059539119235920621928298584518258543695667731567923499288164023946408449427409078745323467877415730435077248812517201635991058487104089537077920069589978301106075664396538301006157164601138984791455110537246910715613326616816612505984053494325883392853530804157683531458040126716964754561781228851819470084507145104089073769384603674016334964405056078067483195523774009014643928021713695159908183598757877262157520135278407698238254778706263542832201773930749480391956105627871202004477532854518949556037833401180473602138481456459200233751623325016417951220133675843211056663860702385447372372464001383700656242251441186339397688402009623735508151034701163400052024288000980566808928554147493203945717678381301258175891875191234295861668831169287111540116577308225145152286996657627974492548625585023804768110220882556266275108125301530700563388512225990727666458837634325886425704473766067351323296588231751656329450285805414692295806034375691086999820331079375921546692043160383037411358276999384272726390662455611281594952574693677122822956106430028172543875924394859871805334098790602317219888861868469056428449454322754624912309360969824980440729135334326276818186291017400951977144733766771822753812055266954388082111156741010879520903632603763312279597700823068387601911737501741488057841508148532243391405154022636293640242026286127707766110496285874609360715272575849260306711755241369823800790132730990418349168580415956596238911005136323521465623344461614050986298709194571081021071319738487819682702926558438817168565122704374145653569771505517781775976518051983192366598845280885119360542544229937508725726360633840302348070187387220768691395207225725747141744481947947214014567036928649054175676843898064709036961144175990782679716823037545062834900721493130937223397951996889457726964357941866577243171467989213320427177841162100342363133009247491733287917467858337073517105551379533276644272647165820068984438093166989812136044704154383808292844509554149982637721420742908266353957863731819621712317741132830968596118297758561774657079698579992270379607902996612325088708162703743884253174491078115205329143543723462459495982601959199268628133037587806183458282515764732350373633810903737316255673179518960013365451516521195631190785294770151474848013540039503146620778420611132938527575495054028928935685891872478182837549663946978531036157207671080301962229373150131366975311055368820586264062457301278128142728325855283018215622176653819598121104571086004508314013094473100368805992920741997054741487378034597809874336361599125793859256462573505611973236816164992127038063552174515459907913043359622650533922141912601523396918104603612594160390535913098062720358797681298818655369011112886891730661112967101063902889547833114787406182919012956431825376254290560893575648403617473771368399401247724875075904499538328146994574394494494940097116087559870477702532755620856739685500598006066519164638560405438586708571851916240762397356874980794499975647950309368681419273356816908328739228383173989040415258381347582817204830579441025530428441369475584269819283206930232912813176637573400654694137729951879354493540684956205074283302280817363034119382357286494575818825769870382108599145294729965738422996645228562700601788506820605157406701445847286630894232454012300858688547092776462835088956408443158558167309891482215928164494186465103195620267713495039390094622576192277204116509773573537392651553742305518502681386903725027122626024174061204348274615657477990482212594285300232499843807747628504248589152218809638283492585118412901557862411660474345391189838578275653571339145054968756288820176119186513082236488761809991321097670409067191616564658922009005738140256736111059528407473436198969204139944984091173175903495319246144724896645111663708231546341443136134251254010011745942160322262672400462522428768529761805472438497570578232536110018432168432133070013110297181088134806244978996629214692509199058467666725887203024305010207894252376463472498126537395903791983637640824394964858729820819497693491777981418406911216655176828570733740487031254240542369298352188416916758573643198853694874245640003836961280478651326079894873701536535325740508394471654651265895659286114862355789363962515902070126653480305370785302976776787028659260994744314748015514851936156683862439623361788095044907901833733829070205487538581726194311437331227140063615847940200932440833572574602018699525240042488994552421626519296035515926331599112207204376466251316757423489041561525660126405395858957343524380962800227000516222888015458999287869574332154200641122814085496969852201273655386760291417147022549193803899537697726360201049658922786295445982387620142712896111790097050734483939198252473585243285787036122369818239091704856573915052466476150189634117437690856098254387800579143499074347784678501087408098624235438102765401972175459883697031327209507765441904556448196401808944986181387478956004046890451038012949546847067937555537967716349305054060280413501135811051225509264337800577586160500558052350758279944914792303287815050013352753869609679951838310663862347097211825038417671552151220770104137756892517787869064133740867314744200686307503582902408390570557274612504283501159800393646046913600507276951122361718823905323265133942139821960368570894939846585593590801439988119993697601760161157467154354730757094167113464828090723727247513356912338003250596267921737672600681994230907841195539495955105303269890048157887030254254886326089275123010926410787754131917354139717876798778697036416659713052416663114454391331469567414441019428510654649727223871504714289269543223308234899730609763086056868557532878393317812723163451565990957852072805903168430882451596407259779221851510289238964006122630534833490696191348017406251475870045810881667752685774700318538780695793305793526140972084411846104082103107473202198870135370114386179370881536179333138919952638863248988889224038496398470922792321567480131366585583634028595084074329978709529978064494670944354026643839185164674625432601583183085719394189485379464158904487836553699387067356067215372447306360406950799038418869581707968651040439075814980328839399553280044416433420686565858386908870347137524089918992213179079641330046312260693053023349096494408034811925921905244136256871774776246115188262614648880157363102709773450763209980440684194570039345771518194969072707933623409563974366115663392291223696930171463996271036392197986170497968442670615618598235410357808711760866331598384503183759721759710839919325625240401578212431876871698177987914034159955534432323340125582116449373009327987355650393928104984798389511499272346771753799695739415845259924414412858636995067215245363752540963400716978326058017959887722368429386795396756067377302643646386160082945006942513301334925082693886058907994485984720879285416737851710172169460082920919238369888129459103701143199633392581933289702191770236423609763602648146015154161969488255817483006774759884297910107146847860033771385614883045034618783715015376118481807134023100713759543541598075187711200911543930951232081560997963358085337780850880636946495579442805862476737678412181051031383452960118241545176800376937916318569904860113979613309814867704970730986862719386693317967374717974988215723732291872229974287173179909648834026281605599719993903139128694362538162382562547374302525630787153677918689399160800709587731031688633702018426196254263538036832056448496392348056524375911997957649657497882430229235143585959376880596978349890404712926194489003675181204593759782164300863741082453991256893945868027249439926235300144176175309465435668464886767095496544853040132624908058081865361286127758582681881937192952438183200900622054946581370439850841826537846114888777621861102585458290862217805284388587170916463261744952426395598602032136661303487812424271876387352023083283766066783168607331320911467005170827748528555254610243015764456753866285767900105720953628369921931552088806277544688163841172813634528610801014689964415470181417793484329918293364002060616791735962480722395467669555140443473233845999876675242756794611369734438185880803503491863156847009190674135116332027020922761614562316541653253665039138766930057876924442486938234964733086681729174679922077900795623599600132834353418596817214618076366498623188543762460613817560007448509822835754694935575690951108648633530518457777462009144231335635941387401735796709531590489573727146928392440128273186762268632808955710259869134201306154868777002062116668735636312621831484959031546845689498455361325379281577603395543723909077164982186463379618809894856643012526693251775992955561593102705770725438070241873810229549758706057299516397257546169048627093175049363013960155788195933487839067204794439344064123754510724256437193060372246481736362260176506412580999196370642306704414333364650571707914947219639638673092393914416779069538630390676117354865323704301838842635624369002127172499588543904410146040437811047748445498413992748960495801281078383978809170139504629040379956420533427662463455242087080398578780014921802639743221676209358085841879027646275964231706845058521407260824397277646469221117218787102321009675537600369888931604699079321386146431526815388042275540335143990018815225010239258682693441164424538150485670480150824891651681466083670139420911546884192587017680185095076812223004877507198631055204796615216736360833737727634268303438329524675258864197601988615427544844521770080543553501133262057227464971165129632767377681864563943119540308067530429647259442032588326306965780528166156265530061280774278701009480592538095236742687053150880505291883908863436185269885122044198711834605817792927397039976393300127298696981024426911270104891348923305094833866491932094106014324156193508206684639744987464489845900291150712992913642394343472799087529410485122227960862446370408308687782304728705488025821981590142256390696881906259610561403010123146042361050644972415535613062930902205336938698792606342282391365064933542599630652795397755140709834454684370921572008827744308529636612947139360972271277624296110382949327828912665215492462840922358354106362226574344048234676181535975148539879057494492749945694574369876589231484114751474605740304157558268178236923037739924679475055512514642383388854674849496613252471676925989023279804162895423187333447708989463399856257116675992351880057236405257499241365279689822577852154146206486763486674113067819109162196488164982359234358025252167812497805627009124288230722367760843132385924153715446115981807643689119670394842945871256696830174173573045283936810660893435200113645697850118249039313804928916483449382790730153615703431483786862766600352856042059185518613042825119630865537620134304773775573130859492050317500267274570198855731157915453146810796461522627247366587049907821295766802261246669857173403423688455748147408634000183669479250147719799819722472007378650272768466786471103387793311296931934549564306269063275596571199699933458378918373048755882460863455228321949744461766429383723151728615555738181418129162819462263914750596311570302383663720494905894027148329276325793052088163267600110306179523355351889333608713669748302122775432088666795286488940030913855072490823697140169885793644361779790321677841765939426641788071324857520726790719178246966596782358860077438156423134235142208858559789615144162334782343482102925625324149063577010925960591332196485310310348982918229792976530205326244585935827195994736765681807734141910777693472610035208042433115457240120765270785254943861738513859015120148952253155559068754770415971810520368036145055376416473939232275446329696804186003273446938755843434102054216260125625755519968841661854429631223003448441272884915330551755621102273678772473015477310582180801538666871323679466490629666357554057378495792881257139785069510161594446672413225788660009917346122097317472779124700782566928966107752247845735691030146996388166703854060232004936797288174474605347020831833264698627858844139022966721426800678897858376752358049894917835207127462520088523470869958062211275764084014064166705452422520841182692997847127478989731905602327076786457314405201186563383797223335458513119715456550036437133823948715057014919059650003594272471491934751594142451311843524031220967388534649519931616924085083007895486795897781850726743420924072654095256182953165759378359482954798823026368512829228149987341755987592966237724788594432524337895925012838928953962143347362308137572528733421020882770845262144404232623953530075598296096407004516379253482455547908547991645720166194692824539677601075860503789716729316158415210452559603673970864418788800182898177209666010671647375473803453473082941845193920412992139527643464374983106653336572475213163400718327936674644596213145904096895467992175835973883562056955932458692202309619092455014714501567396678984398786938793813377028904496091225585483135511592159493481823070537626353111029706237372960125703913683529646139710346264410356748096453384755318740230007210884628810586780749131218297394616858050014402035324366461335672168424800929813644625662423798842458858930838635028491304363656868736690253069402067852130799418216621943966331024446809706974739704957574254412192910290779692915913692457850830754989551528880536933925263212739710359661850191291012282038784602748431421737159735182905116499486159036586313089126139942161941339691853731096978368798741731220003245815433031186156795929203479363015097526802569973795286823534078275814000298976406505994487884374201064902005168456145484071158026196559243641550177988642190031423571873417930984860369421658458206172386962952202271081380917629129661079181830082021066100405334303221193922262133564376930906938964765482799820349360068095442363519136461270741049364770739049105915593745413458016820049464314080839389598683096149245875213273949302399876797770503747980224330487468926064711283153739512593799530120001052649282176977852052005045656414237073803499320017691024452190046262199208696970725018249973729240909599703779727465842546573079095399382427392341012233302410095004294308618020721840121333139839839143639838961884499711798952003101876859715124117272576831758185468079950374312506900167021544992358934187215932267634510185253421000820647891605832463669278762025533034479380007469686810667308984262279145579948774375776288295088987580449617255873614069873334631399865436727401329898516077131798943736450992512590347316784473205337963838415785680730478633343174038399631657266527964046846915815369507387793392373790038616053178320045540323825785656835647796117001929906636811648580929984029762347456547620211742499352281109079435364274000754796976441051587649972777497368331816115401586438104132757050431336641544743194626353768952274878705682388645008662611301655092824114561259219330755006382665695086474024108697405289223977182659797311951991198577402777340955423143001035191362878798220691954199588302637965189183582551815512067654311856704529580941449456449447901473442502493596499361260500899940573062219758485196820275393151763903792971583140006406809233616624825602504592391347989770986784949755596411094163085691057795108475708007571182768424756704445699424932336812313148572541306144631365236377696865162972851483087811579117142834295023684074122595370538047927184140682030395504871438771457213856585047395648122637729572804730528687594840599452433003985406467276247846981508365699119110626821224070445043295311537424108140223095544172645260290739689385869301016265894619013056998607194348471629924660382075733361353403550748356504824046328331323078402586705128367843395304756501787534366760883641137904764266118161790332103498316470715768563243761048320186513891400460173112165624115429543650613216174974206019945277916253472014191601387618679904113572380891825779495902705379139016374139678020431751550996732752141929432710303842061108035476356787282566908061747605041258520226422077894028184932203222350277821018585296624964098040964144649700024881453042273393087533353217590232787423386631355918093308991734122712181859491297985052528214277630658050724793308987154447248043056783444579104406393237462029780173237575301218873097249370039762414567029971744480964702131355691032088599070205033623591503688241462046829891047929399800058787161948300015663669869591891131655492136105051385723380035360746265404705151799404795941000661710040993103095786575225564488761209594816574655220210977452495904735144375934672305508953984798724090817492357787139700815640402368816418797200039126525821345773575251434556948468047140027613438946054037935810029036096423025436682368242486197263204094922528856156163248506896078335502970325725097863595841526125067240245070528452023033585374210196168153490298996259592131476483711337022299163294860044508131589332221988717230004985927830877821017520441917242039388004401536702919652573333803954853163381064940957615504860473845649079654653131357917921742809694824909379039551234950881669655360112715811626538839788083210802260430261916112744242910366200953734756999863466128481503935974282224762616792301811770669573907016595715842562264245481487144512525917949888852091124754118510395193824859094256531131691590463505143879541450345337832810353329270064626258863792518863426346160928965775924392945693941531186514217456870238174719223841820482173773771713443604720668136142608441887433249787402831994677167590699717241221160480356531030379175611241796208411158842362877968794328041644491798317128068987825587373816827302868313967709218543184717941156620629736694356049159866434285691096873087155710645579863386302918881979779381769043581098104641799029578780804784976184048711337235203521788367964827073930596023574264700657930636364907228337168728915901431978886841287539972765995462445685358597293764656374902832003603314155115784316097403033759235482949572104122880155724919585908510402967950099543664162841612746335758989986139532082941536682841158685006344091764356237857008166585590420986313030235957269285085550891652692029483365173269572143978010745115989143187671144538907467891174584309645536198131400548498895355681143896213432020103460832999751149582576533972221339816147061479585553631599046722288594692390291274436963298858812111545793175188984502597933835953829202089011765871618372177507079045079649914367287051358240151087654714539215243923149159419693630827379848098431292361470367180199872196098760282032908556758421034726371002819588014977094783778005052950871347700309339505272803988609436844770257814165691258418929380083119862485320536388883671060977264037103845656187836840749841635702815879042436359924390031706905286092083244814332534854439882638736416004917453907643627526436121867928737874320759111507414022169613116659862763952642725176112719352030720581297299421018332853528486378508409590144627182335275671014370663936202352547158070962284958601935370690216530928291629612209730267172069582882703472338730733847008109365930522244523242928779819703222797255493553424614219379109014681693217870815528744298289384930926239644189202569423874906990567187206547030081546561949221673540588847927522557892626615496920091181935563107957011246872142666662237054055923610436666838302186951659531662513349652477982298415895164829528438173970293956163776148689542556219954935755701934695210136507534356277785517549848570296241426763027614668836296228286223016789543958140649446088012597292878047519175644519964493485769090434093981691507619888940150371988021987944848064711651720244321663343688900517092097319487050477011363406986898649092166592535238117138526868649006266312227744389327858753267049660192674392149007196390675226469390393784595942130785675184069738303533278485753415461808723009042177863239036883641205797818923753625464841600069387877476339095112417172107168470834494285438572966402356044850114736662077979797514660133410568994556392212883146725466181220801000915035343974178967051720592699261889720284090331853596133197522120393146867520597550946314887999182963349397550672246970952061604849213695798661548433431131396639792056307319354957402025255551658461713709356828040688856635145111616094949862446189987758838952683653660765545007530026689613042638070597523119112923964764145362209332844776464518512298722268724980789010952705623313437459452335914006737124056432807932737171516874222909725596106308059923394158049831284878825201945268592515039039039239861236392824871829346012130641173081695352898257017967042893680498599065930248345073600918610260050044348933583927676623133155239452811034725806497970738083085445798768029046670665838339972069816235845624030934783232224441749478169670768189469920151825988575591378373749601682455842978603222387038097402480593801695100660303992502682135821543888051638322624494338371555789050961155397197346144904658659690065308749836580137060991182023073541079637946145327042058785822667007735445156784848592649002326144976566193085514095330524708186184856786171822908002542928288699569843490685433185688742197727482910497145675210970364113822767843125496323272491805948391582390630249426161321655442057442530616519728107608399883605668902375303535134746879520492120400831287149927522646602354705806118988625859962947584613844744248136756122404065272568244267552303220465626444718155449676800019480574473834370573080995494784343582342245154866388982809885202539155822687050867298654988866101394729412993412885980301674853775245872154241653151770674970205300889815802515788957536231330028848844281859704980030680328134546530249364656499880078077089864295530539514475970226436182029153082513192656941814229800330409819827134260372436965664702895315018230237509058112153207514751662382895836325831459758855041781555285517008928567260801017387252831587150565912615138445269565005742286499538708789930476250919996338148132553114764765476632650228589764432637189166111820463668775176207873363913641517000884762521886910320142717543265239047942088292789373525429629281468630034512826619226335403451486360931092821961140111940805633971848430148641448810559680109406437140190106967675224137814173795160351482037225489934782224073646744748551925662178600008990096643897553892713724963691897851153050389726593225720993143831257930526429602766065200419044687405720087776449180718684414477066909041405074195673586308774578030385727975153818103263423787821922639896587743858165525153747911422663741494292981007290155172190572201674255688576415357070715332850313435593181450325784942072534254630817884992374011358843250086843056649939555916076917351699607842040497524611816690943206839907091749860861749226506971862756671738922264362050972309062566010564549426375191689172928003603273628626484997115974700999613444048166593511718159162266287168192752129316137813775876223412310979308312119625165164011196905907488554134194716379645026291088435389487000294255939981723312950966772965849564941191555993935910581272518443616195954916018803209059978820109830992868169222177364946595133505623498499377206510268857839249077680073076799704111400713446904614026610195014233113442636041926337446152795108678987660321234898620434554173413249473575091427178662171967488582287629025736782825673004211112840944746184188316158077766202743604593705763723328338621975935980599735110302022237300732857806927160159117859913099017027761172042894655631974381583695126216101540381856617894539860477161287719337118817249188668115120348092903606944759414885148411903599630788278393251516328290066266475430161547536815848902416032482654112148412359369564511817040465488419281175232215271270642479757001725250972942715769670693579473744902371405433914036062552717430397572109923271638571121182390189879408022216588029413033172051102806920224294714758372570916519134391156662943607583169429265694571631516297355857312045942483078505486664777165849131183596093768636923336664764927623313236088298242294390370538579638552311860147510744811568089630412507955469705205150026006328368864895074569439826593048600752186914339506762468689257709892722379091950377212901694999079724572960893813417654979229845700285541535571521802219749069142328717309900344705675951746856494509161702109646265210600746089528828903637781112676746731654897543599179313802367468292583137695839544513332264580310675456802428143746973937703026068675235013311196100085636875067311819226126536751315133689507508471134487391314327300076984180866764901477952489335510271585879741879950075345777490916176313339206800125804876680217306269661506479498044215971852690606918750398048194005564317004865452032509013593821178463931322987219660721430228076854711605691761862833731320829206285104683943067383044727809450340569580612786157853258862224934407237230502120967604007702288635357018803840487169769183387596188484989592037779837414612633134720615469123901510483689166106984407647133380168509274814256360470016490303634019672778355807605725835875242878846986065984867396174612616367064274320599335962386596728465611472241491775876927468936532406572105927749074270723930072173155110719070985680150098294699917099005050976068348148698642016335061915443004161454547506317995117622341528036249342241306715306439453741116418249942317137027678106685284563903362625344629439012647662894573690675479533706748276714116006405029678012891065821335761773676615625266440968212991911579595746699906742660371147269011635819750968184043025689167818116310260084556399043369777028524574710293279791724615629328851194966407116084526438880694550639815849957370269659672172848358308375310016072193465159760832334316814794156435409240427333310098900487555622327895659776064184778366771875119770353684309868766222701583184487292899010106014176625076599257438148266368930619456641292854787988947365092668333625884822790995775082154535443695227684012251258407383184678466036316381041154069308154672226574674191407705053764207760566948228175087783734870078991774215348571125959585485485204383797451695017555710326658893654226087126564441075190020165339677458905408182615175444852198671741648713101200941031883946822337322787571583082439516077772764048181134570559469230322909874325801722624897417980073501015744720324454152708288134363401956925096283435300632333799667779696287507783734746702024247034721323348719675485189915799180584719679717483705064539906175554091677471666246028949446793565193766855818148652201106590426798694320440046839333933473168396837075469940136844032220529890269853404214936153990915615912260078612610113001873770554989637621385203972010023376065642897259833252536957666754554072368605209060297234824450643777349535625425497756384907203592726564529928368406936897091904550193155319580063727957984306951032584419293181499963903662278530781918554375409227842836075268064640048647723866191545786616236268726536222012777503033088784457617637969702478866771711119474574365493452738427810774733960987264869552199338079465513720436791001487471307680161398418962617535858855989750438601987135583902504949809434802383153476799491810557694613866406820415039805862291736598734391092049252993829977543989749484214426397759254473632446917487366140115657909862350335289615448357561103819106622919739749459722177056030235656179337267624991834088308542387835199796016780879909019023905765685936066016407933938603261733349110356624300254800783564584545988348841755352135811200543887755131695125592848150795945720254241510346069252266670441714470371073417866025951869800046541611088891808831968000562730620795086194491883164259149181627086108522145679612215702178240146380766893923733938692401268237437549932628945489723562528243830850863749627450057888313992781834094708536860429386097135448377013040997840498750979096267701225790779525385681286423091989172185492739226749976547749863689460900589463477810797292495144413802834486313642449778214428312640586544034094783654310432184457940664698634355015321249594073577831816934955888224477341505081823559832501159082077164536385957413511203495314962499432332255871479259943627243134877873214392245820703345282952440313601886658748397717283029698967092965640948517910718545371043116309742810263081089635445167539415193212983209493313067506238160927669805184542916862821064158978527625369855771028153522713963448871773382905173702014432611360067522869833201671990455976944106754320433611364242276456905746837587607057940442050371717123676733905249683283881459488543901267599728459785517236742596260082449896886895838402832672238645759232083956175287305243690539123258312915513436448698589816426209517168553123851719148462548048582934976705767654187257005522142450406786814359724451791160176849956099237670650149527591267216117059998305737895633517386569643588141649828449898418739617540618308617188910343627420354559254258050168367629202070981044449627580685381992016675049818987530126260406012158617121641643087221327797262924852296488557669242203467986034159794413031746404581361056239365819919018606663268666758788442913364215345169142466554970521134901404221983671749374205507823846691071455377829333234474221156136845538082159561395126460480355580923847300028132194007839275395585186100651614359991113364944701376967934020525120572390407333945358408851663249294677011949321725578677542166829962655517347193072605151830442602835147744590348376365703643450284289637288076630618728198564334769722829921402967356187754802151072148970303549608783730686428721716363789268469540795349747219224256229529104975775428136073024123950979078561691694010154437788973407583338314805749723222229456349255589329229187452216258272872624416797190489566270130790639699931410529663195044335336368092061867083088224194938849242614984075987771938445261732960784444959159895395588807900996149536466272188876527696446023419043856552362150331054685671312730132405803043582923030699704132138515109883923801364674383710754754829220375465053349063187356536726678227302422107397276811615098128488405559632127089005179764560809443193936572825929573521659723205295602513638690744837577726750584984112758853498242909259888077467964993597605731754842952900373858459230777681697810378958677341074084264176450931293502475122981911789008842009623246162801495994104836152052515805210467819064704044303686477858502192774952207090954542924930826115777881457864827854182148385439807478675478254190758132675807699697188585903516953059528288580264322355521894491258867295379688715563109677041046618682959263941180632562055546477563256784259289837396422023249127759188364852916604550287676174060076364917806196183246220498084871879499534843155135372726455442804825715034153907260930123439358959256118363023196534034963725472774978496206558267950277621215679217254872186189950727254179767523321812186585042964838349882264513149326173518726232760146740900756025297626720149708230557699493974401329277042274448240757592463525014743470970482108839293246338485233673008948045681042913584739625716061206363136376296926885807044473825471853057719011319800683415208844937193170219793102959625691942458240553795918998119000526899266404433631167550550902465265567499720982358278850010359973203906394720600877286776670001430700516666340642291375498948272364913429570706341250351893971184593097604101073720083934073304508262523370654752240384246901220655338404753165195439372753587502708639358059791454201024401795585296769562584432819945485357893283480715926256998073660367513121777133277581197092490814909904146530723451727480999093279572199331125874977654607892136529056624952418125282664204252415919385277891889771081629286790155631176919776386374030535613584824647141791539234713003123355416280307054224782162934577423121529371400595973460592751469604305876228446661533911170800716021390518663698016700554892816185696205450225548145522015637922125249746962426490469762833536220976677878869544646415984637016712008201462430959057343222510680070521882632830352337529455996074098875562943257068466250537922552377976231731887088188073433057251293381828691823035706181752175663239238213135904014662140723687402861096258534418994283329648626582203104197314487442578925419474209797295907949150765057532945905385185106268596185379362693254923189331348775376321954682033802030901964984251309132528702343587795127464304762836680696500908146783878895902333090632434883973713458947166558309155741557420834906368768115125748301330791468999071162899081264860772409720508729457834820020962773551980915271557047542565514979222568737410126892899632467175129027913913534495412297484581426356573834928274964690524667952447853484195770497817669395093390993572139738579983933922148493032719043869302275338837342360517179440433246697377273911319158600728935004835062858816200380510214993135226786202917570710031451796280302409558375596284390040663582104669136295994110378412396432125724852484714786728488359904376445570738745422482737979060783635358766224726853641922711411115876497118700038712551705485384627502634351938294822924388256398958452334889304739013168732892412503011194021555203950156744635679037112117104332605910093446990737549954081006826939632822117308866878167220419153345735748246527498106121754297929109270868832123490261171133534586929850925949552207842589964561740221208164005716967027064699276585185415324734756782149677176262545202712455218507302002223262914019267129260369576404351220404694048366362642593661002311326600590077201106142066292266823373678255082481368113285762383291988795705611860680781049077814656774540854589837329906530297998458928215812053142020272740429153613473786854015436845781073318052620919920048510637510068515163020780138683258383311117671792971961360392230295229373195338384241177171662571772272691810255868138875670049011950237880587910747908994018164213266256410069482518780071680683930883927285224507844043125190384053472423206722286995021350831213732005221889403051714369831277495297731794680179182767988068747438139998475552974420475444697313627141275726749540831318775664207624367967899216396945500873133789022052527816037733058436077277044383240367726198370023241821544698340138075755686060954690837148546531922902340188763749561359829767055331467143944467670722536490465114381542852113991147390360563506492549508007070652217096126333516307227631082961389659259074004260803156268310510873764362360753274135377786933207286187175952443322408994289813431875609287588335893300383584611239860206640113118700009658094024005554906592106173840723544928983905500748277140878927985412787425147940806755466077715237355580208081722785032631888203954606162227295069842407363156112471499728501125569730537546017704666387242493490100267425712244364510880362438575618220999398859338870850429857454649272111526884037115499682525935241380852722116035160174502575400668751480206929366794077619228619861861774993602522989680075009824821673933165819675224364389334984294071683506527109529855343461297800080137351286997555536288546425804626179831959916230364275008770162735108933845856077482731507231291653706402179729410463144949339926709167381399428559112330433330406873344773786033719162082680355818424751242676505245092999520911959510917790621767937607889117827918729157895029481796405061842006849990638445300197959950499227404944937802177139584273848924944868284318573590417416093639961235943569977670138823504706722801907793879783378609590672920448989033213532105577753453240361728264009145669139833337625883079196545461618327447857050462269193556620403563461271342114531902147468133803112747993742542672820045266602725354741826581206322028357670891885887416916661207007800226443938576462142621692676725603590539867096088374298650192098008977957422250511767112090763533916499122765087538771470587616170309642600946438864615434759863657177493947507759408804323847938794295893551705071817353805798913043764133747472074522731982241070697380298576411939026357903501872985267841813738778689360603300280187880706283691605942217543669419413170656317298238467084774669198894548735232938169413735986565785329345395462001883229787200902449586132287137290939974332584364447590207696623027463890373619524498977475016849937011948633327565704610175249740181178848546049387705842803605237446768073057172369450714045872360320838366137034596121218750997648974387928929689410328334924956839678206379647727008658029367000876755073526432985479990938120990327979841954705137180634154145921774167980430989637608442646499435284674217126784966496760856540053636051331406293997461061581800121661167224511601679989508239134083114167505544117658982095643870617179169647935349705596610055640559073873786809287207238565757485843545768088921312844810012580055756287263910211011117716937123066810213606616818337836031582395413453548771675740572801652717165777359290477481907514677524197394252169939465661832305644211148262598575573508431893629166780680634482075622596466293489263355713160836516080223683796695095855660161794336216685015517116503252141698269332984626361787861363257196420186807227537812143433610147877243500399926503949848120162311388377528222012352488214965542512974029709517293076319527411878236021532256129044193204043691581534731142458566663246396530877257971705377440077469503315375962358436321926935309562586950607534583820561576009421461374529242803589789178350772383899008887809425744617782038652871726585521692437772389953592404303148979151817744815539536237682582104332889134627556326984711059719879127549557483186070041207187258999530415690886438805402931511427786156440884111450735902130015841799007316282279917987721212069093027248828095741806595439287276055898058840699018392475846383154803071527624546030391440228785791514751981860115719183073327856451780424579443968137814580781863590575970613517184396240882567276291191879866062999363805163418633738825028766191084413111553085558281938202788462470357018690835307116235204701652902620396986826607806364793957320631879248243676542817121018474046446123452248379787244995668729389649894750793572026427161762954139527962244229247545685463621747188529912689101681888830370031129496579329514927436961928067142121089484977408765859269511377473484563925265070744209396705911517951458558202648976111446111108382946361944803271220151656602898952202623336239748366730212744536874444368016027730217849119321058431328129882593630328783173785196381740100116359575281128961778404356996568477466735233311947025724657885051157849847180342098748946818654489640067446650343817910515402289677109162595794723383114797992580384308181990443965906256938767602469915345827307709756445710565493614595515041247020869001468524689533828540392043365454820398049247827153165787659987970142563783826515584679670749311984369150072086734884748184664206102258161883304251248708401765144807821092696249509188651054292551483503781089458713670625598648572420069997535554025428316715898949752684975003136913979188531047034109198423866216387818128946414749320113230739791830135583116542875521314223625946236448889660312446183265583483514103057548587643753468042658938514243965523372234229384744216344214775949972312621214773288982254800339312678064015005897656044170362233891776794418814120285954318219535344527952836967562757830461725515920192754444352700937836708568056890688467702218392808774065992460719033412180198267289071603447378414744179651650680754565234371394346364968799713405694324292929238061914412582998296379469688496177800455663215691692867598865975390396783599886042971309139297970394083224147850770022823355792136134004947854836265391741555767067314021853113730851036171748069871201674613248976922388537082035680188670640327452962750241122550980940766524174610942480443164857454759195910467612880758138454556283313540599091801392590799895923661126328159725485702940453707476108595454778348630505939710321153357315388365034956746990133175533007559666729989851525064396272469318017147647957268637285894458663128116700807146031105441026935553454671988216455333250512921511243696813490899490891125197610102406435584681087446210407313396186127317626692182840452929074278956989061021378320377126775822979384434668352659058586281582495597525948386041103114769917844652936003058618752673789552442930475155586375270265900388350755687428758421905556277887435890246183670405294573329427233926369017166783043483608851258167002565574201304024612818279720105655096090505286681631015591455113114912081407709216127652171561999391254615938391826687572231868804684236102563926482886830646055492938746358506041690787729199304462046772177384689969490916107377206115787713250960558289867740923066968022987819547681056599987105681452661019718878305760011249482459764955631267158694085034605774070869741269987138190965456316703717542419055473959445901936763485305248887827025203315015198288152589617126756060925942974065112169807528281199283280703123257665664293997448593773903636228781595576496812325645692292275389757306123601921371676402396307663959819591812789274549022539731530730540880581026411018402004777050309052367757587417365995871416528379399375876459891113376645006622054824250280485727673387835023757008123274421072719160218384860829137795528117877570639016538285929250834173521801119472606215472392329151508005944633495740841782229351106146303219452431234247756637681286364974473617901068669110730056360260949148426694369562603359368269312447466540969857195811850596834820250840118039205498199923894890463181924038243849624900994431921360999334036150948148351511315847460387669878417237637563284930063498739159762295668383912035806307207713723962769065514659403356317897148500881695427310182963698714507954536405814205931231287152999656054882393166947627251214135929898823037388372650767752170436432944272538777512750373942298996692842127722831597301530485057212262532207894557802232287628712176084313859839704516026568506569675952795291680839705993976369712229727267971677865646015812473152844870984608050758853245410980354816709192202044667576940932099897215154293126070601738249843877388316085865539558042089257818383495282244027438405971626456012692186924267998240851667608648401617330091106260880472441655717885965956174848031798540120644326526925502838362851046086210218484408997449995666834328743614282270917837350461775026418100041853813953823885813890697412110490893741255300487744547109539310105623769505365488688590593014439177588089794442990086048427772651338752760650478095204673990466699192043379826721651043500534365956876707751104104247136990684633790153782971277333316934686618387163519231368570621525461501075102896749361741403565426876754756187222079312620676969774990782817592386736881508643139041146073179801074385317563008126449820999436554468840812829478057769224869928181356392469650490588292075843114336624180038597098918071872607393184424529384745545296068006781340562214210687166699180491201994681403264585474567104816564874782210079263785541042179682559630167120490382927636439138846961293842723109295062185916066587957673477670466738556087532238515617444017097066768952560995706281366347812456637326818069342077060135580728700529354407740611527796784267887522754668118787270318304892456784661405550319355272832339553945608141516397201723602241582161002592750584636473836350430316925686091695350024587706911335498681877266483945603037469056305012707593659724386355764218600113754065185368962411695991414696827655297685740499399591323968956664301903712117309034000937475504714778794111797744935697818685362282637639396525207454394002456327181313672368773072943956121638396309519715059818963813608616564002591207965732085165975134077421973826141187000402275615541061976962923443852779678714953071494821138045870312705670726563074756248685057886908502396865689076723604390008936905223564071436456196469393076365518962753680618906527963010709685631708863519493514925922187042507937273610598690822287715508455765154426608636068708410920844597633670633019225214504325852977304018456628581762853894307148422645136309870688978556315907968159128478541575608477348273587186927628296362833751439017055249186563369285377065839552414980380863017629870927146473455751290925418910423626193175902516383992770737305265389366360217050144349729430871850707761573833629635163160152318385584784575493347812539746998031383822698997978714988119868535400959930571202309327482848945455364638330161514349537141414313916437242674293954055883063694098756454808209013744137488484679994985237856683348118334466071901708308440260163307357073883640761025680946672727881661290048785437620806074211449487752637327241365273913234196261927453793503474157347700723310839869125489258690938141962253905829673034196558953591929319863883389585591955399553627359216263471268381533511958573058075397770050077595493407576702440772624647695244402679176408522960989028090656399923132935404640940135262409890552225491774281022179740311450018284223133409301348844050216658846599262515667433619926865999724787324722083001536471109521222256892820642168118182953840807962917101076773125784159962083770935091395117065962412542541158428054729497178973427380524548498693305738652051368980260110703058663286772737445917010848542836465467793840863657435673277169209844448563981067615030807253681360052366625880336835895837193877464820621170501493694499717982773445642194675899304220003383933953030000696512586322531321342726802200221724604223062208537685618933037357814739783757043114359887187964748748051156387525606028494235745625434531998258484957567706831052216538390659427296708945773997676608281679663739061881874537054155507528905263337396232789684349286266447184417933730978793335807468464453130489595803975943929653111589053915525535147797051533563906251662635461117577827387750673417183940638641905194750183190847315242976120933893589149863761954410297608356961350400385007839745485314769294262653011882020185405366506720933354306284784977793542249171567791536746953525857375453313178908945923055132719642820966347329138817485440967145084000374588606065581965516341687211225730609713249367105746244990156063680705894875087820292975253023001392282646507176728251761570174299334918166899926953329530916023664044723583441893512748204166580230424370154674791739239614853651533743502369226362545470125176530837017037412184770050377506666574580665945348262777973911122827548070610669144100040658166292820078537665308089834478723660600187580523521468983739850158260797210513698456912597572345638052037946952449525834996809853946652389934363484865140531567115188683191855142065075238037887290653406688112209455662199938094195888300985301260331324461149149233687855976424774618975615141708124849189011670718998578529200160826703313887964783196749240238428505145598170522165681734754766842294235173625706108456869159677362419286476354096434862579152397149370031293754593961182783523586802898531177424399981866657073921740815030134918113130803044472889613547461742395790093017846250011420188509807247977419366845826456980861556510480223211231892429066601493591560862078171421013245862868959058816286238577653303236668182521064709937942574441563749149812948721542290603255701685524646837088926918952093502287180792508718673085092103575027116750500760665940706805869276001632441506371724908240899794670852716611997921039112263240807335909350480170988351998771203974365427716702862888602354954059510281494130053879768739792359376087960770979994682666904472532378386477577862030776873080829624589722568264795998680181546121438243179163747987423016397914187235073168804102962672281321471691674771678619872405105185264844302947674335523657118873443763903451503440495858287034365914454834986171055810006967460714941137818498526954605125198106008142043995399376794195503927475899544939184976462660551139189849108940804337580620410838283943836036210343072546381528756181480312501680659204094047823508704924766697739820523424404387777324966545408335833984303485578379955088151118292979662493964433449051087481770967372767319386789343626146930790974496862057253202429474890611200523396951868121697301238429013611400854427597861038117640692541671210290440036505304662991417085991387213958918665368519208891978275552642048521096732586497033624314849733773115661964297359710357317334558623787726314361543174924185524083430176509067503275409394251128403160797189735652786003337938444734532945632972981678755500711706881952809332832784086523540572217864658705845964305338193419589740029705737628682689556322606828536409114804883982956047917856670139327314816022604426386412573780045580329229626835749607525698034883580068827016307595453445925552935163649067734893402302157019625908580953107430658366772386300208656863822111633631078991109777875303346120517847193452753691005666728727703758993081140043501540152272512504628325801309314317076246505294138935165088878537889328375804757592751105556003489251623487554228901300751389412294533101326863116345746773533840688236381043651670886072565165603516667647948826652739569068625744115959256258771014978848422474915809055954890888795645044359602687569468262630512576062084494461833372401553397621715481667339132882979317832895709874917233369747652404173340599875654362401703958435398935245603050884120323395514789212474523054319070712202883839334614150977710377593271829989324457264318263162000315875963654207752229360514322657365176659844947741367665377382150784519395532565661742589441809542734830066485820519874648481541490984437238773899523538556180204806644003620084217890845924411076044566648719024857188259565259441939811893420655775234366560987351489965932065363195126199069412775416516059164421169577496007007593720872886935943087781461238641979329928377959513266369552038444250241622872013402541461852140020140780798932863833433916903317463509774103027135034394048711059552064899028862351652922323916963581918153186117627263705047208149493466615029127779007604040337694263928076578465866960955391856930602629048808301060892359872942298063275834052842098900810790191263139310421867041778776587556501546159301490869809693022621018097561253432984104141110542642933388739585498460021611135030633481969687526212248258722870979571471305983961508534268859268237567735823715446399846361831955814875865972347760701613442881426567640204745646486277467163259175211015910792367971487567809116938335973313541538132653904128271525300893621141849090680041455662654469957185808686808158101583769648964602227828924805018313487547279406423968322288500682735246978351554783837522947682182798773163731322550916990678643643424716942215383068205498929063534700570605147058620840667679742841605151283506464991609411075002232676171108951459088460937747462777758849286897215771744350297465208154056486009461850774771846878450368856980254157330430590103328331544305963448430809773375081466695977195985770642077774573466475958915592349968687557825457073533371268765216296603679454864043704741558244710531933826293212069413324175215988448115257445658399233603381792605327850165119913551777516285307580075922331599306970944103225759285326190893963400508998389613165019268917722833316313231779035747382341220926549957225775643460308991360158439327562755409384575952504561474951928186119618470230229217512098899428936026963485641148619201684765806135448507062979505326853829059225124430138308940671254138786277869738824071429508057456461355437298570410642924785358200044028448649313198809804260311516773815184699539128137213607043588153011022749221033543759009637251994643819621153931541249112173222493652535735651605774736827287307089324771386450867957005837721930625739257236445130373750952995465269357709593714982253407742329197439494768332805450991327052245096763283276223228839620089616424031807742361274582540649846593628721935906925528258316966827465148085935052366865351181032652275711669598690475899318713913844465940826419693981123714799929497001510907429672777618123122020566274483374002170268480313805758306043727398935958352708018400492972896300817665189075369120182506039821821589204424222632425989770946213956814124587980718958325167212761237250815919503136449270292140513992626394346850033272063479349943238841829410906665291956639238198142900468829338095936709695232776759095502483054335270529772539375270879800472091088816578749285626069106582632666141476524840366471894280013949103255882100806096746902217867425749411893105812519385535010611907802897677474051047056650365255143651105161858781102465091740359791674856664091845139512935709319592167391477360473203283212259536053074880422889065579555706570061962831064885531062339957051196687709969607293159369057046385048324995391164518285306305829904669780804800127308543255509925812727516183523465559713859993236554277151970744633299214839589339790074640072183287130628249589064563156640317759565425022248296856530794852690537171574954739647875912467613611683836952568232005177928827049012297348872684255530801621067992684121116311847559186172519951155075106717127606220869989775998583231016855159553344419248468064334115619790434769445149036483741456548884915055867604624237652741415590403935404001822221618264829044422009187654476949682020238977567308534175322329133142038160581749015764249418926949256878891749526219005850710160538178969742260109390096499777139879216630688085439871626703564921941039084131452279850090746993920401571581705274382630939395507846564011339460587951545317238487421383229798972945274419579734599769966161612453121887152864869436846882079902398788228500497405972982130210597354247377512973336471434438236612767387640559723942588895437945003907727842439237585944362286075244868196614863502443627203973899542640921474893127514368735507555385704161402061624036789735933789108238080003642186001772273403349652660535134952981763795541481868461949432815982231541856959467995073100630598549615274536433936089510967065039640841744641866895087852412915530349125691738179682542250683068686454375226834071868357824892383578457158141274614313471825023264856572198248967325208338507959425851365358813275312825983299717842928292930177599910282727571665228419756674672532265733448650985979749417511053418028685473374483568014828572386880746292253770206334126253408573676944832810032502328781619280360226262108382541537821637185581748166149583312478498910637308762841651923890916360963853959168195017842946923814461185158109917718211990861183059342223005830606675428893148093285704436907669253073869985896797336250179756001759904081016087515445527029746972861804714430054128624870284987118628110115147700446442370933533608649315821143084423451211481794062566654499747631563022013841975799384679209076165773504774906615869327286970841597157869773051536049400159203529590577068909037247558954846831586874044523111374272072074213496531307136063594748586642215336052872591314482339494041311431216977830697269639308407933555021554795451067868040977341399061544775686159921782249403558046788705140675258082714624225581629746403531192807777863841792933838305526741217680883278829145908176950546716101842147778485682512680732836205458332046708512816502641830802518876149794372888190574096616954432625116388852059080338000044372962969568751811113531469678251489268573351480498863918792430719630448926706708289374669571211418019703297899374350389840184416916412973598156348508522083557900381481985362641143197462599501191868576986569810473340434458293100964018401244509277567337542256030683058435477324092347983010832844496855672792715599164341030654365640807017390574284502139620550117659432136313772450465238028909644522636527237192943058666556957080216565188304050489667853882487968885632467720885995843418025477732794144907430065911441089599428622126990369839506313482805473297110048595820070068757885522763725427841856363826596467638953657576399770979746859766676786984481285064794594995147909015992968202922909357034601957930340858281005526859959236223038858112881290008606239329769929947739320293715187314533298487454286539659286984880968455200575581320614272064119385099598779838645478899250325340574831939858503467943363521771820445386024656170759490711438862989330045855099561885444441047990216521280855986806997428853242933264353847645783915096494533108050897684507273968531639895592567563926665448253300978657984772876571908851352088408465085608081946622755897828025350479273663798603990017748000732970335338946407232230243719116892441518361058495907073699262620215559881500106936790471160191700807470235595820041371667813233979513676734799722955927779431136814300927637953713123723446421682317626008311657280280196508935530591270332299320901562090440785243370526246616413400017564266759679354100487801158352248747473017864697691475748882461077284282500014127694129444438627883349415269414454231215022683323840277837296943236113773517581099635110555464132849821416339779156103543076859033051433283657020688934957673156991159001240594923841818801769283998719335815599018359477354486309452160408106105150784128498511179063682390839185622684272992507514523642712758110883578938557080348056300119251794620683920034255144692378143007028706095128460928586902729627794953250714055214914065095664235316715470910194466973475282922946826512347952344475068419457866349711901056020747126979961925776519287145750970384072038173861646813889909974808064058548383912060473813266516449555648842828526295598170064713529383223452248736554620170985544136934174808027739297228355060272597593555069624119759642858845750036890901908321942062597809786200728683373506564494629438306310882444546230082939944280789890722542369362800777655411420323569476558384721872446633628005373668818350351831690409026110738628925854988577542129838678661267974348846631129329762758080460745902584667296928142898651528883555412788955475763650789469999395076465183132256085788541401174021958802765708614372007923937176275917909589563636588345157906155887898868856735459084870891379816559978027970587081283797004441487543536849875434551973454342105547780599300731495641596722238918243904159655376611288335881064701676410488971002029029278606864894079623652256103734622696901100832279046431107505556713287581256265525962501358939903258674893793560269120768050344128985879197303691699973307220539912564924301337714362307641412955603700524270142959108662864569856713606698106589799747775587966884949321208891203342764102513785427121220848125424993588985084157141180144434400692082237402321681940416094288684593058019169319275191497933138340888114133388160495941482672858849701606578804576230264023214408161037621732753894759864317194748472595588407714954823027037699967245851413361937441327323717079942111440967347617893325188575022205348837044320810249035492855205434883602367094175921528462194818886045835253915128856320431029277134893024063068067838086324549180722520169412138908485845786089891637657505473101659664402601756632380860256706000019603845478199211072843959701576846619638339831678730586266279462487638379820496617231309890706909107623468705131177891008569163141490343460287219431606198051330565892815294614076877615146243437532612065736384117941215229969266494914267212293017717239718887152887614792135484409395813317160580765964844366851356499667955194528080189840202565327046512938653453931577686675695134574080373171354679740323713671720391745404461626219138915294225662930965734330955502495750997819475309216837379181520666435131712242222713366498095855370422586887226801477744188005995306552277438824196638590373138580593116817078300687760167142137819161849153221256600303799754328999241327432607172222642330146882162054623264079660274313848624595932616459133478411008668424513481098168560501051740516159370675457112265049814151936896424483898212178616436660361518392638616122798903065280348540096796398012150446019889758765527801812064611766749498409401779483916690184313949045061337645002161113970506688853702302899842674417002297280704663562004120531936550077792212986846946859017482186204065073533011340160005752665693766569884023346038008617128766807211579169483878361287405435967752195067204797974691421370241171180365204662052320978684608620198445495613468914465434009235620687358167702478363906567415032359922226226928279031915783301094983059048287184411295723173948538541031562696837829845322940598782779602920264037115175416876231932278810005846783665543663172956836790864914591913818405738013239770004341106263392861272361683438083056137896139580103462169175325908106126632581169618766726734461087945891921784703826496578782495956569209813409360457124380434830595934266043639380660037522050799321752259645560899064047161210682125344464471803131903327561200959710433656590250040088992116474751943918391728761383226680955955923022230475968927484027615999610249940381658347833058884597317169965792935882328970081570646505937967778918601094067171805402582567178792761360330607155368007830160884353054710015136144871327658940081850461032718916091449424251823875553690811967436809091046232655393538689774436016422964248667757613638328209325557248228187327171129406943330618343124444146852577264378175360749801222593823331603343258527098625048849181553345179302756702648363253773511127214856741737059881896843924432142283577727125707089488168213864848295361899611297999624550858379230150519687796557365840847928436521388459981797729162559049080535299005938279807538673217179254960363398711570106136575619872994635082049857100513848702488828136830291232241208639881352593325768759010519889261853724495600006449649725666983136691919152387916260563663327332241841775421473662911335412282189894590485227433175636221235024397418878597444381185472148166625720071280852661358492581097820615219170298308381417063947091746026053746178703661725588957487531777857876983732843376195865616689479492835843591191158162950480466751099404629703087551297224272166890293929394743537355566233456798938900638310234637789003337497989199720322498006014735049110836572816951780081544509845650745380541903001877180853916730273707040298523914156971570617635097912883342705515409926152326330865031545064733419629242998317925374813412357281673496671357869935109192735951478960379057776081828558689447559428973402833989448482355485166438783242335915519704092626989595147117315035883471984963837080179816538859331067352010943285432623203023113864677381028863428015631837104503319542483808354731790161753901754624379462728674398440046794745889367029198597166299390293944427839520687233469604183314092580334851060773632326153846498711552869835938900772218025355091844843077402663570655100232435439366734516630688357868703066298695751788186187415376489181853388426752552473411557470545927894191718282368686690428906765125492188474311728886148858489313232469877373969133411435213866998770323811868074368851388754123010727606335584764222556267812297053812697948462524427310454981292099794876516054940291853221723351012995180689643514555158257922007535435374263109212692905779734878846664013955262216265810657206718451671846895099059100864688147581938015964361837775323727561570195753502174452169505257201840989320456776074574880157228355453735860173780819238730485697669953261200606026646597118471842768087920939568482793840276165526418777800638678475675015678996431337728221363217507602668577693021310316192102310106068912228924816007063007905165948903933384699180922736271740208611474404916878909713386692215441819562509524371996560141789590496611348337762392892899614065957169189151059822290218429612097764962670626074779952271943877074737204258141555156797122814122847763821109191534892200981252081332563077954045145261705024362172796310642515871112848518569272065754760530860311215400019125573690981487166580223469721004899997099452449471031634477956154157390640335106302931208841723818876783958071890734167715584835667800797495090534101714059003490723750974470341272338026222320377211635003797880782972161197536954488281127614964807604854961936963559593015487811871915278740029894100460624176447296685040843588405015890423491271814988288138965971705880048289316265963407794375971569786597123171188829082496093469528576874901072314666096901379608661884200961811103429135676563102232766072338248191942608453982887087068411580676639442999849906367049616238741830155372780870312707011578994561318084676971938553850771368362363745438760606179026065293785475386825082629131261885741444434710742435139478635823009296566534977349677700781319227821485114584848416933299294220202411278897310087289415929719135032852864272649195794865384741638912049773189522361331698949931578287053435078811899439282748311400404553671281354604952553208028681130867136079521615292564531267477288218751163593175892730236862129568871347685174267655989689347971446936144747824089536952741004151595023312331687649040149116926171021034242500545749253323369780486034183271733268060018313291726132293816039196046320753784265300410522184603777501743741459376792315976345105777245124581768914903188716287442899779895977331504573774107835164787286058129280983056901973805810402554939143824519493229572686129872533037426862760790122117531097684605361538200801571456136858959047377394157266423392674271099229120460568581306964157285301278610533381775424883533238323213311432396452540858126114827212297448030335352247831240198690784657029532117637697831468269750130301159716656429586113022841040285090705149289549419849226174469181088997800898613635448816874968381802814937023429179037500663761400576310730667364799056316045588036414099618533579110489589049468702599810613094037953114301389187694277543056436504010518198733653189884654588300230851463856926189268247978310720158198276487162717349622761452941619059542239640819458535511762687637325308355583098093723852379760743428967919032481088179009574867403014595064857113443360559835569752978990780358909102449373242519989056439861456506155704770884625950220635372719966793589619053566305592520094231810607976072314354921202289739937311952266370539431252267288186925395857552080688207735834472606695276451192588373386030640335816674399572563606070382454974706963678685892045548656904961339647387028907622259999663705586876288986032146651467344836071157395108425130376093633025846127459738020394421335248915166844164615414806395489977575674035064848891904819205585411759410000509828935976600448501930886439255263893228310065851904095291070435961084525607758636048010864885582408704708708285585344553159495178580285058390988476002213727682061633615891981629241304503124568521460990328701101100254985991968731129626153018611016314808531409442840209333224634226975396511914991142729649482769088687038278044503235346426920689821594503438934216107029282046800138986640260755403883196783819096481774476014285525274900535321574398597778243588599280880882765167358526919042717785348737675743668140502594100139544679618939393232947649101176350381060654408139760825320874472805310896844965824711461281748945084144925556926499080868331377804343904543227921646962277625288545630950929645813893239834281227133906758719290208652459616557087779324151676433235115350509135737394780196777377009139339534988166583871029125667379331159067324114435402162667326795598004435671328551477785880679556198715670722411166343592470527313898231425495911214936317135269250293616810555129978752885196025936341718107585205578034360401697876704508102242855472250769052623282742434952114306963573264016706751710308506673741648263476992585450766657646748784038211390160032854766737646731167413453691012217021094188754306334050236683061648965698929302124557927298798486914566454000464317674203279945837459039695768892423369795814295135383992064184085323750960289997137130823384855054688729225391293833768036817846145442555838829934123849035212799364693282156022486552578223843825740194460745321370469159940656531873536481011668776945211143781399148275197714037196680235611009600866552643262612426271964982812683553258807883963064512066427109157074053911891314075966393034368256836623946853073958243706703666161853436534908236740064561160801414844334420146697456059583763965253457797897444608524580508506389914908364351504131650584510825743488932941204965607680824625376095206628201122647632507233156573941097209114040531515879613938569061894135680317789623449389754088341856600066057790300787013129537044017824862435835155549842739987828185446375009734594000416006264864484693094390844111076957999029739307610763381502113526869171789890517273568580491922502001666583219342343701680153002080644788606478158189666326257134556362736872443877117968461099619291611554526429085015678611623877670313745695649110550048185020920770559387847768580917948804682906731152397356396602633480183877805844012897706599247614832998522599947885329568108706299851641649172411087469937833650561249051281568169967187776232590549550019090836983018954585675403138726685570476319643445501988819496627293867116580570510446309988399239724852552961456678721480500732254733787773115537844664256671733255820958761271088347579333162351382692052073988266229563272396688901609087655681601771006337995327846128399641851340949170789270195330575921213826107399491846816221953664373152014495802638029156142225392873938521287491796063589689106884583992818433278545568165750708931207022744718647454266629589223931532916561064468146906941159177982616172801978315885785948080809478741501114856973611601254381293628955403795500289291397026213842859991873591912895643398207834308199240115380022956705979354270506504842918167434259865655785986221519670363031598006033378928925088595694740253627058755539000340682067324024775754809161605989601332902201564501180519857093897819591460535150107159211894693414211116802094171625359390535181390923690339576288046161862423490380575335972152297283484986690084599843798520105797609833590518392982030213873599882458749447392143528736461278801712195789291509762089724721182259571995891000180323204735773847274598140503250215062750658658038545862194817121805730921136340659322829696628441648531388051097076251016036238106346934346950011979034003035428553581389719062029599674633970444870249240544167726254877889152491221867420234779408292636016751108164906642085236309563775726500694930191541778770367007253050544008935496443001440968787375456894517521404235185434076520182643880084489029536669105232532592445872375661109000353778191863179130607966367328773368128224028793497927684067734422407562282918330009734975009753908742297806547922633577736652369787862254705610073287180341386902181625968100266485780155759400238117523988094453785196724559146515699610815439780165956235529789434691154289898045001055699746597560462477722482465875963437950510830826661911597673043195126269832152722180605869402677896885793395915333024377760139897402403044537149147306925834593323530159827324542949250600713224573232775189835451380588932219265893862100622836617093251817542981053359188068640346741018985758026250160296981379475468005763273494619000628981902250495793502743275926808598637474003901324185567409190658227798053283919196699298444084546654853343433534878869801691299344542419602250206824392075464894266034187334653286033601653727696914023320575705795220633385751324052289072869942762569818251347182500333602916547406477229715767495370720983609771333732169116576242325990615349744727733175039594158321262636688228765077521174257443464753155842624106539803568609095581151283929310476701341177774481577787370045480569868846610630267632641396522353553462662137190818782126362469520228559862716298225839879376038329606625003556577359117240492348607846253122410186644807160936461647065413730469781467029648111153601438274022391868150325716758176842942427094477588564081921734068967669035440124249700903559393662493931491338840272927417255302649218568989041710958791395953548857132649735000811103608443502184123845547220568704309445216141768822807798590400313887178690707025312521180967086621174242789070028977118317025848542869548341531970002555996177074774452770446066135100962369971040479608968896592074625345041251281500494543419753659462211824378620985720295499215042188372231615324951644254292189282115473794961343945387138878646622965223287045418272795192967815137466373444616424543650379223251314909944908414378058548519816988337255861910465360252857519082409980243488856045019638340968247570475896655270891566038477254125588662237558647506062199936856707360128444333076496545481085780653417006885376121909999822478840427238854283214205445833778544559431069251751256671471539413766717361209095629063942741390971257312388299990296895292686410055872864581665530316176040238523136983330446556475251304074874418939837646350112973807683360343231112151676079347863708236717603085244411459785673117944127847821128147585780582804301270554764119759596009193642530445065625469620227187179336704716499368222672113171951468351316343820003592834875437430702523815502953396080030957051973459641625083280466615416070716642042132096573383053210178786625825944970494061710602999912571669872757596301011314459559499398214720557727775790511913668354826280439626527423228007192853601244474201238275659193235862207535759416449156702048433750471962821004073902218794745736555758215759122992306863202106978845320272774022708848255186838237062242813665177703301351245113372573863193618975721062076319731117203925577714983260397489859258336331955987484837621004562877338797769532428280949944343303721867387129440892769085701697201398021415491081841377624571344641623638292656146551665209878454347246304483960896137688421414469607482603198191986640846843357634850746379162493951916592326396284181487375757898754258653238153762522337367174698719806939557474062494371386719198291737422741358194251948397705899953138748710968121649595260883518043185861113712385086653361574000500073435437034010633893088834859410653801226455758068494050966730505066119682893819715948632186263759660456228908337300366785195753756676358845209012132761498950751620727273959394953951318050109742245602107536448334225870457424529789185408575623828661898446207440532479379781586889119837799622332999251117971635710429113078206999341662680342784662289751076525530172976725270686122724900658656823078971270321284168297387511545543899162659191207414439580439654897979423978458726096749960948207967897509624971408655909861558091514970902985629147466373350125032977082152672674646546037854082077620838337590379217021735368582245248327581862707503737552511115881955232640286320154882189991403513664527585849940064174533885575713840898975791844397234329399977066665136963540025862111188398290293119801520031542877956458313777576493380533677298166898348079565386209253308892489872968668649835345121024003469625235963712972650485213838299463709707393763629773166949100697717725137083313073374863012861449534169314901688927906677360559517918364577255050732624490529913320331542030897932758541799750584651072742528836000154782218422722205224740746481550068582084442605174069959917926299573656779376334663377227619608852749797404435239995965453872332605293293650630957388407555293195320392019820203274433733501575259248470159053389814956841268442314761518960660190789915013843917234736721703685619995918874023994490195960207483475125960904079974212780898907854363781141458728278205245480962723676088186924878670991866283160058464248315715724511861241431572655869283724232817743427110167570999646870253269860456465478710277087484154773084883691298113295511147120783626283821819787868486393085880889349300795614656731483924958355530317773836518799235263636228634333431632580562878978213892848508212615233252676927226302139293195100840434420874751708836358689826879550760374804328745671648201099586670058865826053953663222870536746421310061896081673243834425902334082656768041827577898139631374875382914956467464363885125171829134585530311963050349240424055374168357964665804946153073973504436640976513976530427710804693379699172132487779308849034491468241795487915334939242088232626990731554415668778070514257308424479574836444298364803033646053563794110684869144438588333276237263747780191409800776318571696903205244352573438722625383019116901717643352811389073970485827565469642007839863981183785374072500398166561736543925479625918554559018983239478312516197059022601964001828307927400143180700813167815030590083429189694135882442831923612274984259293754514438640811074106454817605875404535871468804663119521688062625129919086207959725996371743017677923811056539185657950369025523505452603483844698209654804353907817580276339293428627767551851463669647984866028119933253875475162099648257830324606192250387404631933393505398138755004434490894727550802569808237422939394889877204052584917096962697538162737877255766117859435243596856033914675475124822520263218754328634778467824551916590096989526049217801455418758358924753349121468315960954087372017089508129536395186549042307147347186233488965773393357496957803158938058410445878304664124717198491509008157751775442710612094621588667708903566363588362356547648667227444991900112660541353102619576721921871554730717252710899713517910266317323993899636751625285970346944969239079922992629756015037196233105856354642393421504503258196159599749515873675506987560481270371265782970069182846970199406237988065443935406096647498748310722167434699871901446939846215768624206735127384113679766092957359156258164570143571128119549140049686083310733026110118991759405416946712753841927520754047998752455011898739016473571180141914224109286120502156609862735060553693700595670941963905874879592197066708818781710773460482739833345874193202122748328524162886583086988552112729912211117687363948882406593245658367918938453177886915068830029179859341407275672814617554658906145363188325315300129828907260355431878696980659661215077849499706291135528917260758089201852545860734572203013662929678289683386267907102305333035045883313672946250825481524959614747755488721851668232010160367105713907029705149559411791354588182248499234547817925174251778833353464266188471887173526351565699286327811352043556990793827800276644569906242386215398932055779819408055668451930974449599664847518451664686867552904268082511059953346034775992358136187564792876283066497352995004222832543950675432427114558680824096117890155871684364722078350037178656109679065773778894343782163863715268735405214620958155891251698659927885263466455547896555004125219077266464346944548795144766877446965634079957034627611257924012855180256222458526766484554186789290594622447465674414521806332753280393174005436586768952770579507294849532380927841869498125547599739062454207210623359330115722431387756120877365017105226502339682570562368885866892155757047747287696621828109932942128826452462884750570752726830350704653242847274165559943138885123884941442404619644090518036722640010060756943234908107433761180679218575411373706814419395671961041055312644294048568160340227294190054165720337195540461140463563038552053058507250289882960828071565901778440523010988076143399810082007257117967633716632849676907887253566219849686174088399448749552239376927295574710937711282924254250667601646381468265425722059580217490672623086706807290400893820208844211716243072418441497068067252423625896905153167595474771696738140313189980581986333133412040367343965451777222311188597484562663104849989546857957308829422257100548955852977007611601286680738474905453809745734818649314936294800505867726793705416885781841337368910772081216426405027574500510164606195750120806776463364939175063959768285825921849544199999628270809419936110233076948177761409742495735522939541557506330631109493698458244195441669936118146714680700946807921316276074496018873831656650637358837922774956828448731842683311440973530648810265403037839509749468945636967618924878186305939650238987003090402678471252455642359514312449992914447039629756035267933339833675353376693824707557369938491913627515439465815854420035814557467245660182506852849187793912666073004071026761893623104931962109417042622703704260334768812350780689618685830754713504117359180785461336589825512045477372726773806289236456352546906641103919018376342396926809117901679597996672555481802516084248631654326950952947873813245169259680875041580205066996344374038381723096696757657997855417597256131579194454404529241246113273811172526042953950717612328098760605020815796270102921882282913510611388578571255271902142704141966077733190155647694752808972833164025985280694753236323981883187572108928184464737337068136120765567691797699777100192495514384411219807741114139352929937233227411993850297113085762499207807766887459682529848812787652195024271703262590042881648408972038430375728083502253126400752017613029222237626816102544850804285183293006626730089213671710058784173194317480856919342849777171807413454774559093790177517180824675747796928736105461205838002866876756598356804299263978977452579423977636107378253199296131278407406261776160959326902505289446450040125697058364855626233009349244715022347393461404943075173703529312168482653526353996141380423678036689209951213439487353569562316823056103356348059835946522273963343299593372974875447380463144257336781960032256249808792225613076555091019228276961133297020040439777901578249756588502840723963345521736088602363072729247995704704655699704545790091199888027810921005631422986667403210487889618131787167837257423099793019881428846025399194545124923621356386709225968136023492814864033713724198028794429381175053346660394097031384042204113926838722153297363092951580513687573950459308759425071115075144564641080950264368178965437923164821192480665772724722217581286208550685179817781289430893598118056515462584858087624347354900672287263832646215293492027775470099100297871181153083938180112479138080229573888510539434432683462198587278273922135098281703516394625780179989760632968634138233033232095763292729187388146882798957794936964960825108000853242588645831065078172282999375841251584448201286259101549783472616304179606862904281093655660973230987109863668789719111048376619658354364706955686628819441888079146823230457601738342982943550555068811355391022757115839965432486839547264169592780763111686916015523038098639447318112288859602628536263314329092658614297082837406960652249075820050318414910194842513993627741398471660041459319747764461706345724306517901116712469385707275807286602223934446122302854022237918350997154518384000796087950644498512826833957400490348951231425783948557089186220440776035570294576463640855351207790232953353906811214712266088258425452418716456809058139329180584168883971911805591250118998467089641812226510318161313871508126265955415102186425112308821851484109093923555225912010526961823527894528268615200130744144642340922136540778584178706080072038347354647145090382691155615488038601146062566592369989324718170834903899701186652115979464739568410404245019023287545382753429205747735142671088523042419621870985767162391115057694221636733972458301485143857721733538338526841718157837032641965146822950494274109682669289817624505113268607775724129621211689007008330491339689752943402865746254904405535988944107669423337329692083556656344024439109129789244956173084959453939848628588312421957331987222471123095868737472051825709578904045699492490789004863466109595763887350203119400988112241759355401578805699655112949900548202652019698516643057948945192936861128597944931184121222173437855637702705975870118413857324060217943698989442225369261192877758007097919488359249433964798617829103347562864070591206307858579921869722108744551387463428877152082444955796503773401172418925652913428677310658932264881779535134749252498621985753276328778400446449983630027344235637282595211030382212930643155187559530853559869970863989188486173738900526148361311101865429278318655307631800179456863798240075295084179806107490155834709842183586169598876110979679687733216131547861185299407539994074324423085168784394230409995187385283498243064206961846032577083526702735295542943135918719155890177033679746079267778953153000105108527987827005866563776757291235226914652695854771494795913289994386659920686468002113076031733513395577324942360097728352392344131965870889062866511403650363338356333705820903955510260984459648606092767640036135497869346231463775379809204949019824074882373879845243939409710383267521604029448338877210852107496968638576896147963642174591313475015017542201171227882503481500667809588000534936881706469971680168221932274399397383843287566094443542678394747606378956061002110928004648814760819425408319349392757240228127375136121556354799076551308720892871705234537349647686742454474979020286213721179820655235897967667061896244673298037554405378190210116403486222046127547775907440281421677166843985207328734423454779777563517951113315624823569042325077822836197621252351501583891677034906379626325232919362146857836365598529378051516780902676441633136514162056659875397991639017213742767443903920998106958764945452047554692603467395322454211556175988274824439422241044082608329047317410609000698709550925363678684208123727117250751368796888836500362320112844853616813443160965109783646779801750967405419023549386638964865186634972472481150471270732157246570873205711408455321357297490629075737072247747515827987742699720783416376702174163738680498443511275950862215624224389946460397014827893528240300355791593577221945058209422188821626797938077575095776597340787175252169985667032374117631062827679084391263717917948991439604464142311971826218755677071615651703122239754916854293264076492479463478417233225684232075570526982797205279762314901995794139184367948543128223640279273169574280135784932497305972993540696927661345984686314689400916666739764207751310663939041914275575246174150243405005896020281215849152358139592727283322205450838392331243154240064161824840875235386394516839207458429528502704895966993886364101572552903646122080227928069695945049945296940913605680412411184678333808213868862249419692760135316649589414089649469399755260958732075828854339711689624057174662361135870238317605313498264073003160821228777354514405388998556848174390415029920838446067396418853719405458296023938993270044239926161027126178131741497959228751970601109757389287791321531320519887908623412980421715703371689317989065001693673463421346535091595490398259854531669157895872198056496790421373219931168911316864885641282043619661292746363502504931165379426126996155943586198857675589017429747233046438376858364580409627171016950714751374978547515146175229241474934784469821724446295212531091314304347581674272852395324755201963267226990057101630900472343372083039347841069939126804301868850735048305399253505257226657027346059373114020661696920614363758318759000503636182760136257404538316993056571445732742380576999570028920596140747724720945119323205526247395111656435233512748517108399597132810183894660967994990309828567671214469922508761909810473802218261037773764366829664070480945065649744068839597751359288648395377758276820005691578774343121610734173417598632163247278534114830378586116044050773085086122714602488930731119856330844620113556490446683802724263984183203775503210903750174824870579759006534676329283155996748546624336810511260730681271321473466378580075763910277709236859399469002762238703471794840072184556483681975398827658462458007164128407521468773929637576842837007869580177157545842993029152407427287132599027891700343265587603373023956121730619067799999997138144952886532073212974915476541002461075593737912717944234993528648963927482272186061061410360423334962673763672912644121670446072673974352239868228260477335702566614315241258452474470924715877543463695915089077582712289685752960693572497989209791981695288011871419066124423311113401709119388272527686668555688076854721499400019543840765933766525527697243032070503045937365783958000309695794637542836483437397369865894646268298346998057490053203634948614405724860706655221607964707701491098741924707256109945920422933030496311203727122602678569543776534581552702330918918454789921080827914872730498942916234606909489076315333854122419540338235729103589364816337678189308743420166959377299459005875028075040565728014260282707690461171787748585863259636176846435503454069804976734578275699950561429908619221763034812021306121756841100876602464184370797706322858484691596303306306135467821641061583312425137399222819120090658909838836547670073074453897841007688655169177390223258972137426596611341250831766699730514000323323006888321452567399054340376960387496633145363709525616362723255405099412195360325530956381528766966049083368017211224883509469289096525609973919342593100262351074510578658293563839649132346962198942491678147862916594615648040693474128794685418950658406744875067490111415190275299637615758769516666952825188471213085839112403010383141498320929553783127450517966078862873243531258528921656793827669484304006538192978137896408553618590384775192634428031108248309858936712523624349278791494157924634646818024613131306403352194689172535673750739906872598062467035934554469144190825845590858404329782909493926521923919943451904902118059981854840409472392178886957866185223674719520370037292723994259187811285715103572392415169574878470211303108598962553650727298484263156601660952829865109700242818178372079512233221929571816739656155824329441524720786603497312247652851347922928907278367608632509459453615123613330914979086974013387718036630950934103460026757825737700017752296361897170698432458265372533608562194733486386468334260380464724446686251397265194458383416457931409009482391315231940259511980870372026147377098754224228827325836579006115045963160342861348977422654890318471678247632342065821260929881925158271531098148214434911968678969074835241478238037832792631664358368271687356900318475937921684093347109618276923107822348368657919412221343099113795528594578446545841673097206521148110083699034264717201183932727756689634761338562426247808242161166173842461803479839682564717171518195831003501839480443192722154965047589474841304345535145588518581762028621730094133533797621716052956823968199391447650611462337098330697058533329014978610156530615987765841323780428076637547723856961400455028497228032127815727178897047167527152426881722737955682558423855268051901634515374110283179044136072443056225622274290022616126384897493917481313121333603867637603421250374650958904236445362308397701824457204137737579258410286188219555255755682279143547165328162236214524596832308802179718845475286490217540094680100881937367052230824150778328547226267281648070954789177649466311099427182990226475970339037217873006093443578444910080769769420448211475053186430952324142405457938651449938672618749528428890561986879344492887229076297274606733744380158187348340442686358253149606069631837476146175777210439723903952658255016145703042972625163758886364800768568850989772413708417197383834571954737758743463354325059468749859383888143452829160014008597624102010996484746376799583780848959647078792529362606398593486294057226873116123022960849759323413710908458112171589578582023797728718417608410258919674744014478623274220012826301541691068098374007784518725601963419000724482100086620162473637353021033768717425710206236539457419840347728953413044937325874581365560288023161602964240937727137392563895533912121299411631129905089054837960843542817879088440791629769782806225908732683887658961734149450140073386977288567350128343409789008496299626509594946827719487511430918129361993144130472630036856842475353016914320292809487322809015816755676495226605598250473231178930181309735033375356806844758436659542149807543181537962709676753712515695446284822936069935471830703054258077645189233582216602057190294625397456112997354676488727661178352340800009799750784104629841045507432792287147440284743989665769686065513145599992911990054113258294635626604436715922008979913292946549139496677363683780487206643285576901194874993205508448602821002345708536786199996468555726862308843789713730929270090496654747999544153637143588584782721032951507904752373368670056864755466346989348717561964380367547611957249085671786769405528133038884973033609877668887486807991362398751966822265966677422391568489330877892889865149544112440097815246691020649955406470172679883847753141035949652055994304204942427146601428276217112982877201343067242493748789709037653836051054481158025987018862383812832018608638725385893327942523370318565491672526121924648716103400481879415342552431679220642577506199171141653038936275136510495265049076153912672694597385230741414428260031042641521866830756898379053108138044154506606792220978761537705791850645497493386391968930438826832576304665772998620450353161885463870278392024304258672370868229791943487252256678935968878703001454582205303933756413514299565126356403450245907550304729940242937059259784194439455775109429709348448431631175333093910419301526001552198245053180110458255677024025030557106490023454837159641093513899345570120851537412313644195462975703597887631850897378470461694765536893816518817198604997575615504444943461754643909991240757348657056291228889516244940876154035287587730342335170387634363997553454624194077926836638711585774535806501491245376732253729698637626584918767737903581439710666111991724048329649016276536364805708098544274673004428674846669730278521815879923225993494494986761756756469674582149658143399099270347637763610785281863811700045611700884508127153564689512080920164646017571049464059970499317023230334571070260657075701085208491607729313173572895908934127621163342100722270086723902821067423445868917023495890058577841345853891309713370740650303898880592926609102643247749431609531707758586667433040558495775202034630378583070013241923684636184513514224317879875915486589571238750935789769116264112331196938529016231658432098105687247531641395256165738370117444222709466610210881047531740249577213032607031532350269998013123815783328547992825839038763687445131837589080510109250652587649980842537983935430463499108683784960703461351443595520256601190355431873090300751862212865564789452449353707802020016843614708511482920676120951504029288623433807722337252007310500219493854638484765686430933913448684520649576639531337483566431916359145417900234284658709007726075317190960356313445467181932671888435128034442104355082265225180224877499204487585602111980634578492973095591352025687291021365472746920241342943229444327207962605406816196983219531551343561708055311419249099155074675398042510375365297628356032774542429410952510495915091729321735054951320120653411353056878371407356112948917879019240472445046052282054554056207897631889149291828929045743434271765488065532533923313278987762735379272830693144195630406258647738257844772608085514639929845968352116282339234791768927572664325950293178314856754885571092973126387984974856138387491127979037313817538239636431933197628867530162385621318263794242993057140171227560391494920198402626463489178837149094590444224075839993193739611993806218273979842072463888325976426459985883345444049650200426205308777140243514850361178813956709885137525544898300998754005601974235435153554607317395412711886129370523964100523402456508903105650917837201519668528083330646526189830669121687696123712365585778528701196960127599452891271539822996719499670190429993776276418623794499261731090820573723916767290956269620921018255502502186357586951991417843865930254695108526443179752491721630201609109926479220857179940716205064004588909429325894448865588692122833580410885752811947378859369314800389503020793455940720013786262776826233301940478695407316214501258987228409536031869387456382176119336492038060462174490627018077417157285116448648922001184176413165562563525185069906031922341206707449974987818366120799561023086868618357566940435956553425073658226662657461773489458103165569600502597276371348637105370059306356767439301565040583693458029831693158271910857338979717528382587041923061966182463305171370847953706846918866542212720815215318141344535480624163850821487520669102877814425496833582546343308860893492121162915308926161861657810968143467719093414109951064784884523218940228711559099072844476620212611700982685593008281617336089965257112815530259738064069950028452539036366424554562586448513022299308798453371178667705439849117848190174087843057552255521507495899349472937231815392533577689128130222538284176309451430080733918060106946647130990031489830261381540084860147781653327053688069081982729865954540452825878793834895372188746227457812244406333217989669258125674225253996002816633830432791233763840021271526259606672119207301270308307909228102495570415430219156291461332809422502193001578205789925137400236088132623734935636262023048231816802270760269669304655915312464162823481798258638664565454019066074337462305047458033234481708447822666308991120664946314497030705966449961521814574496083842057474411923248596406191978219647033170532570692067802791079075306809595898391927760930319537122204852864248869375878852348137577624909912230313754530437348520310825114359901801150662321697273244698474178824634846526938021436052487111843826716876373503463951465285446161144653304027807769031947923805035176221155240384129966550792886756656142254203679326924251475909745751895994420448251619824248003767254117208465932067481405163823079010204838893231049393736639592689409178934320891579720972252787433246925092790960799996099761050388198769179566122929560217243796231018274764741880767685294099821636555031868447384552408240839664210753168546695487849656940108341448014709519039482743493605062796413414026725995958904407476071807172956671510084008751930503351728801293384907718257346702386694652262571914791570379682888714846704811274265559269918311485144092783993772264401360440890569736931846736204749589569420123365240123117631255085304088821314167726274246148117931920205635767929807435578400435952075386447164709846939550762305230551084008732140614903363869372476059911668890595581157265619153239763038283875553019721962522210752903901538275837348958869425451062054314022800167771853024027262738938918948752366879991796869155926335074124286005261305089895033490400994085235246255063984929273578704074937222010095667866734471941601129173590184859070659256976014467057801905870654685125865252362518414961381919102929223667660306262259323092427211607713520419272527787020305545798063143037109875419341059220097930332087230605227260112319112189523185576682207162052636772535374720098368997396826809960846453888994175956453790533506003685730688246828022835567879771473781163938624239824683780768451266121229445637501354374301492750936879894675145754136920497892293421196074292400859143298082019714191510417503012932485831833568801202999261648763972662862005244066386332798332186425997530332724058711951111889591046063356794767741120312664691865530499285585627728776730065345474019616492495003432450710298746468003700974806606722633406178705408364392638006108398353959972620503770139104504749227161790406418371379651294248658073004443502260801301248754985905639757161227507911653244614857503657709780388770149718444630185608816734859663453361076034541793059403090183649088826657508810419250886455106828657061532906367621053361748559096755124231266403677089185517978417236703178873372370652532343081503884357415823552700466850177570853397621736245475575511369165928506462433189247170974001518505300837359406263541583359269158236054114340932258506682325505821712875568685625153650683685082917062298505015856175728287735278893979558838090286744754081095611289392414234277646975269568242702039516324829782706080358240737871303358147164351846746945011571412160149799958016588033924469964840659367928335287717469502986571674649896500179630767548701975507319491731355156001682426410130741960688958361814646422932902677123198606647867844305774215703014110317474794849701421066337131974000204705563343439299015891223475189818589017178839519444237150776323079632515095551407514077028783605217184486671681369474328636724974185273104892400128822523968364450992565529977932091238687009942728277922417118880334175939430819175064487142125408768631418883905031277731249799184885693901455554143100152933755748625078539243263069984778699874751189556031398991889284295072240068249642340620512777482693876752754913173429662755111520420655538662363790477129826915749195925958346768634778060194924933671707812160684580020415984836361656474995076056583783315843041109803014504407104515572159241870252118224030302642414738353564606619884073347084071454612776070120036738220056390026285853512907502009530792238234687532522359786296505110323273215073610737653427193056720661568314341237758186774469475938351058957280890718885458011229838738660105660967911363366907281669312424630324065798144559644306233727593193772654458923020783797740676096152256449539095235341059620584079381541972530751634135027203011200858421642476810072763609734963235492108278953912853852528001087967813018671426946634129560528136329480295945867702034384613322670270286137193608837821185588869073855186034784013598437200382323742486122752196416216818657602000205727514763862422191399579066377391181068470473094670958015038180501846673897503740104457414791926412343929127927883629311725274587196594038386297259887803055646201697648785182810341821199882647399890612373695597759604771395424476135075099936964129217688300785204081066372881714541315954680831949205923925756568817527867762033803931898203967139356043377665352294716422335782445680207455716549876763139470931069108130646164991057057871374149627229579216858321804723726481472837743415419850122287840735262995621383099000899709920431552300422085350215863065091425536978555158229717919342093118630272554626364320653604038583390114536632213006097228812029781535949034831119041979641522212345059483429852171290305919126954246345109211556348429136958934637746819618362069970231318875607528836327929354540853946728135897420032041369971583348344962398090928211204469498950728511243846908801327442103184099757483899074671728991326138515058011115667891928830033843012773097529886765410946158951041022140160391474121490103624010329569518212638515762559851320854698878570650637656314015710045284099242626729466913000784772108764049936710247798488104770954021364925254589772917680688275363567545767972186822788362637739323717896077697896979544334205365726350791500619347236493381155120783540796638780333555874797700483299732518724611551743999544432763365599592149755394805435397662342993859806922407334832819499521807482519261822526532440638301088793049731459819857669939629942591248508853308918658179289066609870883140665779894197190660436425780581349413764681859963608714363493830778963354484046539497545255498366337463698877185722778327719963954637933232306174813435877432187286402430339338296580270984184155264226245687046942150732392667646245345702054677157284629976712625874766778074667428612725669107414898246335821049116726121741333667306417167479307292092758244666068040256089384929333907075911692464982051814263929166095102136704132278934791060363922131577935150374464315506388580875779074622338739956002151283296239911481998063329329470723245965195654271712708055297192931634406018486186568992621957534766995605673659302498943866498639325707959009436210832672692644683729359613768696284849369217932765807827499969491486078481196506243933613230169489028664438805448679236849996102685837356440097899516681982700918172932546516247940892293148665383127351880026838864932985412396012423897402882612521817936068301971265786732237551455445925344606228425730541038107646340367225563871239614952493822050771681644488782480906369928603422143118551641948608988114719767668879626708858333845697229919379559213738044158842967367548383999488826931182711141292375039514215090472264128498181360746785925518362097016688363086843073804112197995425569459265302016345933468013846461623387604800175818217077932968632697692983879889076309488868621867019619747875017145181936737825562974608519759565445370861968128227195238085557044932968942150940339886850346950584031090817572226552677189577473964828354589400839961524383006907404677801979661981614155698679291513192326268891282728485519437987107053403145767974587612522389952007464261301408182083057339471918381303701535099692912229398993934705513399854320407867987260245924122444888667065608418439027796679616790138203002063582678619240648526825729481636561708194852852817208865529570125343933186462260693869384400137567612106420662245878877129954949183582713291004749991123426154301856201227406423216373541451469034705538166788925367529363211970445777057851545526139716445966769639198625259810724151538613052761448934091753555597126083379926522025351536984495083866542649909433839562363710380252846734490935186063139614019722161518820365801264116021035457246584830436148372995313551577468518178237118711262445124493391690013404175962211624590511042830836345825310779895915760801424576549755527831273702923546701098946741042826814141254093575368654158338923419583006584655666908518596679429557985788972429205400690666308793163089137167390269031160033427473750012165616283304204192693492379683993119859995837233551432225443176284302079988312326227867183287581525728442499086204614526623358989240050885921093964687066730222113090960658532350451775716731774790079151193167493980955912878249850233066606522122752623466346843283698874012269582589968861964085592420548984945847899380367328278472524199512949466890542528735268777142109764727901614457689927038667901149797845800262004920480627210304084640037230561179614970577795036142343318917968920498275914325868029763564535139244640815746465479864259484458956447275001210352615086858145127945192172718775923966496643251383840370332361535674207440931831126634149197062719694154641000879723775051462923801098912530353414890377455695581657331345753858419429739092883786836460330996294923663587380820547754557478800290521618831573956339213637699433622904284752317940926590988680092925094311870753453929347873338040929456394563627598425413252609491131888792580036521318136876694680945273519765165844726183530826940806463363439608564615655580922023506723615280261061917845107027871750468327449272227704174768498101240302147013752825716659586305080043911341607386114145091341699698890837628387042138397714472356740091136733493813450552800336177574324035426851294818499107212105271391025549035803711100450259411576501046509166391645090359692950926566624392848271559600341193619364083180975929755158426282043372700523172922529739448882878577452209591700164122002037237511785065183954138397015585413824401143740214290670117066496595646715749560116584925115575201521265992617935176349524181832071263724699358752206697887266384583394705542038011694869821497920078236469545176365245792948410346533159681374272092953522848278590625035479556092774103769150996723891978946709569528206426221184303552181361898696716146134564041032783151964144542622677643099248590958339921822625885450681195197911643971532726586844248433101163292744141656186766855025006500453323698947062294867620552635778933378591002640731720240599749145251750730966840338014152631209700867626010951205132084368327942447972416546168361173868217023260448235281544327783665355819046346610046235091704765210323157105695202354761788414211701096725554942775978423556283249554543214908163051805777894439798100058092826269757347529838709713029841066586245535267206304114742518132622334372164674904323877318723739567809719874191592726361436512775482999170871619914831213342822496455323191302434192429954742382630069392681532388978687468895560054574274491024663772194032853320193205467372647461572327324567724134971219940092007273958993974398159552707062329913587909322644390931196740245043452249701368489879493334362428665467848506620363897891882265741070235284383071047500280206825102733386588838271758666463547145158967244483353433927855418227195430362208195679865024289183650769069764517082061821936716877702172788674200546216884178211745381051694386924116218254918305102838138151633997480683422271361921884574898256060817550627343870158058522522843155525876815849065591722257362390824014652851806752016782175388013877283829564162051443169550869107018386012334911466295015495277874516558291736753433429680071875574630762963677630889968427248014951969108419921339783225730877814161204006143525405741155038704923159168237872360312200722819600716947740001447935626122987463211967618603825398402386545405995061368914693666450189109409071800762483039056823755877841731210659436378529023735648149961421357438580294785701900262187733760454455041548998339515956916366568359544191094889384700644952843406483387839380555456789555927493213203770622968017870258811151323990652185681407140205778262854191097372153082375378799149026604791025503367639066474446700510670090532375151147561422381923126914262934814531065964974472943300259881807472605612623635469715709869947819522278599426444827750214379773697004866497396873196846522925756996714700543723401006993020895783597128454402771560384053292219834315737093003149612245391198775101044452844124526504434735202765476508458683183613963594398961858657758354598991740508682344195815025297617573149977711574537198272788207506397488884889215799331068767019118817705286913232636759795171040245222773481312369333191406025746422140268503226326022225369636692228258395919347833875099539529125473939186068844029108991702311629747575845108066176675587153597515797140561793489753873037643697509486143431659915593919158550627378864909659698894059016149811385184511111843619451081802422108262930706294888475981686502889278842304633691183067632202351831266521915204502334737296150525258405835584183470278481237697834556513644180709299735924888327649345041265678595892797579001570689948285918208668051229605909519755029263001973253432872849055419738352015799838955741044830730339584515982141779856189301344668313221738487211963594850586615874931142026549896788402871637472948570849667112140951955775968065717361783208624171791498561011839791062647881110803965352507691186702477482913784764738976179847007390745884623464489715050028057903575298378285881381118527039900100588479632826925734527928922890826708400099648957070428954456689197089052287811794018230909844621897796280061222684332877109206012539073101604955721036549471158630223882303594788930954649723086854241296416908620306868815311854119857267962556019044640582855149113657263294309952578200074572249754372870871389438462849245846721348665730795251604888673678548457976106356024138804545088539853587005738841161130701521823585683627099801080514365468820839459975492141584124876677337968203323481601069212771746033664746350768296493641786056350572864431922649388970422024255731288259955490883711247765415766780372275194453860050964912740512917852604550951814725686588387316486281091521106177748156070875297055863553700636779630894269833029114827587748503400718261118503876741261464751147364826130053331343848887612628160077604242426782675358643820805042849385657021787813130270613845204020968908537183619717254828882926922442472615403463627701421923265622833719614693639658052991510937396426323978301888777200781612854829499256487105681712337905439884570808624367797168109705614033244741115552257692983248778105921995676704129944051667655927905570852152674819757241886384475810100840988541376733298881544976225704404474714183034503731311523315042888328474811522287622429646871726707642097140753725378884404872178290923083345781525228156959253167702442396150583269888999885457949448907802486774254403063381604418517958678969021216166404797733889006461973789293345272257423702823732691167559178093736641716200130886763881263105320087304681830409321836692549302023656685947614021462515514687314750010775478993192796352264344914412913498227197790861032879007278128319923205675538434500623787605275360720325946391569845177658821070266950377655108166008943817528675267089307344183737572634224330094963190122447945493079201664098445215814754298686918279442029993469696112343498009515741840711183288260474277180986587623104009080862178779070138531063308138234858294235558759606731308945166529837370426370495375939143990301579894831197556731233371859559282970270427135721092297304108015078406683800852798837311664639346702117375162444681124853717037056956974593121440591448110620350985933696075600221536128818983643892805415458508451485440532783306108051272008962551942634603767133607885427801526696277363622230189134333435500343401887181749959555141089302650884799538072628441244535032730981776865606775984987297089429955157811068451550882090109231084923768385212193457769687633467354558013957655284549303795545932532386087912369265403070397692303676786299577591267214053429804864572713949022991987269305284281500162758145854524686303232392212177446223954173853142724639641923856197723230775709974894265669873454985574050102804406997601279396537650777716854109123617398299408847221385516488084099583292735829521807383620329848599238905399980057590959466902107762497246327663334785170087571383397552248484104055914153899281293953295009867982310174103983259415652799664529803083381336198014251096948193063570440749178719558787582221109252707338835071998382811119109251524269537764528879878735518953637605202631232776694258359152346510475814013226839826816577228599104010783588323493039134728368915836972367219437903042639276482750894582377318460306238256573019094728903118730714072726709337350785573582361613039832158341976436875500237009188687274497651099145373518831899522691924288200613216024970931540206719363757888063654591155209685400063379442871631888327173249271774211912364201519362223665227069841102197048125019513966084962925122586929307053081885821163770679119588220323679772352339844868857513186182905599153198093517972751120972796348012621402777770587067058496246344544873065388446390672718229766504124952047464636128234203100114664477294077095191352022180099797319689717141117817530888578784081127010640374646044881282902920747653676998100719504834642221174743967348527316961798760147050341128290916009807714699171410249247737812538378229605236186418042939522131565786649767925307145823614878489809093841019930608341971016558314362623791197164257101261267904152287317681320841972886634432530680008430088208555378010174110475947041671933873050296262536815072154003467051007577687323742857587435703641159376387482319226623828784072155079440529412814900742747611809937864375378013731227008819774786250960264065469622256775640064150709155810294624717206742614857921405203989593192009870972355279992523534090037088108232552467977257941133351643718914384842911751102707846462694687921085749278352722521265839893487818289062654866422581054758803966081212536325822245792694150428499323283430840017443772400979919663201849720139207043397748783989711483453663255708041580742248679461534829176850338872637536487258584760663723861855426003202079813215345762648954264638785970706052910384025477681108956533706854674605378338199506274309010581629129864936557337510057759714115804933849476441700788845597684999285239676545088965220423750661022200838095621535885800097037538186547185660957388353364820392730799134415498766574954920658823171164730794441868705804267286131874121539182154121519524703905941654939274312426293615474909741318491548904734322327867488331211491460152608871022332220434163922495317200614397724440342904978111002376781451393329863989652535487651824314031966638482254944363256255668192724007938299384908552047555625473484773367568075905163977289558110125526685689123183697300120545178192750460337175881549643780028462499448809066560542169510341252679142840446015917841399370166415226616547889349136876483035672577803202684523397338490134756799585648964192922505489971616311919368511211627607429805510566008058865228256439424745067076727834590399414302385276148849830373838826445409106747406539552637666813349900810639148376192731936055159424464928604121043032260600554194884000286622730837432921867915598186948190745806482124647345706331734182836600923526718514248845726859988024702743201756484700599696660245253426929914046804183686838186378900702057232182082250576395748852774898083824069678867451940440405346180650094118292595243360128440362462830470182660900479078750497338446912288884501008438712956508636435026879542508954619724626644089838513772401605153873671034739661560767050648845543251815996963221712325181458053585809083093961088889905874950674530059578937474249698909892369034056476793619907100097481477780097701740787401889155168512321480549646611812486117717353567019865748183395487588416753136906367715141674677535423540533672940512576957861577289195040500433908502477052753613320826584438399160840417985078172601025923534003280478368045182373312453762008815984781042964751064257458599814607593376620696810317435093392831850842899584223392996522497927982849151768402650828486493794044130359073040224734780117991895001733666103913042960421493779133573470276211588989761209498071226867621675931104140758648454236847919113017664213855863284174630063310120747076824546250841834190628421452326892486718829142687528131531448480369244269234015051893251997642491860397536264730748329743521576420503605720461157799629586419753478632717952955200138680286719122917560122054701168154620309545868714142291006635425444789089985346001132800417016651589160220884508479578256810099698775058778468501770511350521453691178199474106929231862077607567759012046301956407989557159302181391094632160618059584700234454709529601718481173745390916430135229891987599743258930070687018033304364074409952061085646616798816477579735428505918532409348156088395117594431985142424356912234982737332893284799313742011924325869984515465457485173363536803740042672592249589484219684725629895677384885394610857812773952257953624477984620420544930029385618312023758535027954614621146741596479746728887751209060714390894112879280008593825568687219187663136241979143905924339143702706863729470316147734446972853071143431152422678030043506359037505009095265495793543509498920604317395361916776519133000598441670580629804873853613634770248980656900351864616038837779645764841313015532186423978990644654896048991076141437421112562376076115754912403061365043635976786845796464549075248417124018879068753933535548604741011354640899874362556998512844979902416674826665572479785322946802290747041201706974446330757969385585802587256441579926885873855686016480134116265148477345019510074787293431090527626710825148576860547467964019851249710408859277569029296783378811341676421979641807086080067219074873257005376034188823927624935981789833940308372928086248259349075662349721536353641487625126936246152643333330247619312165904444543232578225300209905697176313131212110190671231485211707320920151366716284120765866119525712807160163258275088655547979487971594948695270343917851310014300154788388420713586990746881650506132069270487000052586872207614940629979445646463091857444284422357973523918414425489496558631110282598479919408819900791078297009046658498359047219556273589463885706122313927571410888025687461160131699609628381521156713949456807767683940605147743202174510848684128912193227969553088039169415640003924741869397072982120621561107909469361568285110542828281902338347920692951324268762202733781279238134154685358857490713308517790746929557840015591235360608189822628895697329242775380823928191749307601926017027440548431736568493593880030427932710614812949444476186044208672144770495284442330267704653970543023079710514149663216127601684498287670481787191376954824631086450631634761937272814210045675010702985050875878607762243178725567717670549050692025716864336885244033290326818568448636674300539389908117609850507206667010264658738550690851617428277593264699155684934180916666235181011668308306725700096065694700683465172088953339224064501534338449686932022038641678684549202042332647953713853594050468608894579391059978908950907159143248420230034236117567987243425105175263968796052636586508164142187715663921128889538616300658122930885113599904110228121514335453491770390001970896681697664222848434748517242747831963195073788767361751919590586110991845239998814041396951129104253642579894160893631737679492449207860858154880897714032693129853129228117498488803958902036171506152334014961849480609396820273160321929829407774860695123016911453687688131292155029083730441798298271008076192228824663960669578345018826432428985886475391859213581653152426720568072705338653637873747486776586459785750350353607866642039428462931597641282546460550306679904282953626590962501308229247624424193490747256152131013832790421454662675225966989606529434198769116700562816103482446726630861777190524467019789091121399240617833465738926673541102530703805105665619556394087910275357109718996304550194243870149009738232374661473424121008365531945261021515692755483119068173217364205779108138158028571173888036320313688091718781522684016350162970166240695389262843960576065825814228390134684290667717724574943450058508515943482219979392431793690842310359968574779466135723472648677561747488403713020489800258010600816151546075821957940867496670907500878561808551948582908656008389307602334119169493527641240338001991863055969340305777526817827685725094623813279537435210844346357067887077994599619907876687125811070598063724817516425806951805736698963488519134725192886750906159132279513219295112007105764901047355349052919110811594034756996794354721856322582983349157363226489333154609937896436652092006840743595252144722661097159114474844673510765335713772888749062372595074814766445204396252832195811776539442881303139206080582787147373672501440916604862171991380473739937298650636978204209456615235952479174078505432344516417852837413169986233871802656778481091993860719218465300265301339360125410769204067401339139849502496414905327605681828853543570376683950354554593508256921616771685778658034966326487002950872305234892334020878023342124085919302260026400785507933581149912444717780660657988777342590094623400529185400313075755515225537747761763620503094109711945908918723459454165749855842689549922154654136170320756912188140440473380918987201303301895383166879521384390183657698859176283139481879484600541162701402541810022960162461151484352662605427469154798953317127611335790050074114998701471054253641044571088897433231379035303972690836959048360107734667320259350327702092736254406757390170946435551256833176400839952957252733894812190288222557903950866172919232684016632747724348902075153222099655730705429159259938084581861020661040009600339326941667529363534549868979023364387555207852134642948275029368598617415198889166533789228044983842696515554928699191427216834825646657803595923609122536970858861912015486515532003007935915890669491516169189669704354545992808571633864463297512781856719412287118188717840531952660603462937848558458205136414035500782247028394602866513364554479778182278217626401478103262220991129982170490561451921163380476988387731660653100793281025062987181615045051061418172801033336077896969985945785914882549814166769342584600644452808130409100248657070865428613496464175362682627804741753001216780036985879665454664806369420278599811741050925489548428959245190867444261568528157762553379851026188657044398399846525382894488440483628152685406356166858013150673522686946903730336664717321640921370335615512780194861976388951262554245973929057841447665865640846726841815293307068619323991368221120937558861302546595400449838097790953185271778559335214191174745810590303302307366527426581794875421223343670020414818473238604279626250008856750649070519452697887426865936435135986994989622230149987421284799540001545077893978599083230938910029079263114175422285090968018621205598212743983877290230707618344837701898542395851434784005898662540173113600663077391181054639096057622337966397961544022935930662047490471295054815700054811502639908320000152224460838650938908388842151402170910958789690287966238321023118845477582009214195652185543117080248410144854896419555357173245189886034261675955290247653555374593197727887635176009793150947804668587503099747192768948435273447100116717965629424603638065247123595573554529788952619801446635741949058921251600522297059980913748417755110512772638776860721542616735257202918572967913313693377330426809821388771378421421922692373608954398414480877380253205802127729162254752638921578041947721488661787680853363308581188104544326970626450776868908187638994591764829435163168872137817753847561193187811899935340971387765578554502365580954749216201167947459351694865949996177686981338594458667903798882046742440346639635229254321497503561191960202154822894920041939045285488889193514629047780779538183914609595423202366993648501822728987048116726047288795397871414517399423328052829049677578225919423959384718590408622569693441433538777025119931075199364625654865414555713129659403257280258346004811043285931106043058303719789660505014691297526464288383597434828990809564132469336363150433418575745004578523019406335851651052309471528958994549778358384844021118617732145068021113214543009628030890282096777945049286067279606486475816888154602546179694605827914062360687498807694764012141542363597015798055794017911940660659600118394704357997314497220958369398315798340414630210544659087501783803277699403434119004062506572193855796366577807987494968768221082107262984929856411772435773729508363772034021725581910532363974328851415123587587910941661333929383549319050381624984530239305188440569660949604810443150260421725810069401543830284333425258238014944014682748691735199514531304521761062365717943078057190873639733747645166328906584650722970665754468164809868812222594505939164643165233752375784599737748390577759532524703328993397864161785226847239814405404043165299152990214198612796423763415219872732688898217128108726986607083627248432250375715333809518627096170797234767868545847562284362921039206643633802385725392693814599250163137567887470123399809488876339623984509381897159395194380705564831972785302100469982956558959070621305005553059559034045878874317217391035319876642681734486842847482489574884512380082279100127810773091676750409022504853353219448884463818773020057279891603083833909906208876112986941094824126989393128516205664260410839587981265248026037567111293177872873534248111676062547003912727303518460082360355618692939117209159280227129274163271474314229976971653335593365900063730237121716815447059463768546814493454894845582258014580699001389468965973356532428490769325591402882746592823679491805706855537662919156122970204076796879259977733205218301140913551052259092331448633847338624261251442946374072125714421135836398762242378622929119064703147646036921090972025470947908910557536505735513323792670086367230705109197469731134367455868852314212680312216704132807056422459516990817690340941594267251753356256686626553550053252322080703994648453131268083294348613161186974408457812413015491618850823445304385585317777066859359787808519416676525852420322101560706706974777085766259278712720673104334385217828816221897731576032893081361808683928191861547742028519858479065717438953020615520661790647237748815945278846830871683944423499725473001150867279545875097192849737950208995264386093452607885853862214282878860806051883662900634405984485737854088751598735347998987089810924639695824200945947953367894709102802244334237423434063381768911822224563204747214247270346249297034819601903351872834910431847645401887319528726841995465622056382680424836135361823152785133401018036324491096238292619080257857736869487982416413031934502668474543305641717804617114587484204517164112277583603007913023540459364030807666659187810549226829083063380278056590915478285203658173678720565602759088296815580178996671791200842761109601235499421892459628490359004377346774868624485998732947212521666357027390845296425508217950436566228306251611129458624988778479300090698345567922119618723083479061424792879859969423426638417242254098253374351982414635719062630052648335377088840996434103696750589985633120656043955784967359901533424735348289826639927376229910271152851651272371930930329530806571703158478605802470420212404524456381197356804051693840595807857502878815913414541940942210554898910808184312640443154073636516030363785649368591497220928307812189927441115812716765896896807306163067267962849922460873024783437613343314396342297815758233775924459077771889389193906683664352951675554591638666742630177183142877739077715839536276659945565172908145878803356631253990259767211962115230594412247173156640784392825195938554720920617656563621834575147126006840610073826660047649814345313244931105354318023685196972408578699765656477388190073461780650563499824325378916632158574811919390422372127241558781833586381128365095791036836736944911978665724747163534872717748497608744372026107549539396408714560598543681771413182398425124676530247071363172773008620229419135917292585110300790797196624021993121472000003392446721257433227359785562594735173472785297491964074619663665582530290870898099168464112400351201471429944434705931186283958192139489848267282096368871818810247708388055358390111759438314958079895095725477068956985691949289178352989056060086698675562367743695343662169840115197951323500203450248028511679835876952830908575908656107529537257883189593029895777570453229298581092284505190664497483942252360217741856791179310380827860264159516720124287093365622823843833974124255791989390729205859503768675641460707581534540316023468928819222986146514271418871975662373274493041062876087481172836923219446650469285352483609748923913577814143102567887572956271261001719061336215393360198688081701656596688972628831903058995996861641228523274596066618760002370435092420362592265260409034899337734890450556080538739596364017935780782611701349502909901607002417998274374381180877307893669045050494662754281494491611376903807842325648621233991576081386794815097364155767532451940666078096370402883665467127365349931712498898647614733068827604570486392465904912829667823412298042481674752600786413511587146509687561303707264768937018116291179682006192403111863620213086005339963639300046183861497460873236531888264630255344863526948895726560367717138122502525197535642034969246524327381631429567438610140151370995426952595414171416437571880495944316719423511611025055041499488998677541010959640898277705934117932835584669591699182542546018297310291567144061902256213138354243899113903826980886131745272448160766779088859052610169661330140085654402546403442984826089631105742797294201021014145219529656383551773357802413259396167862767395771421734081358564417703367401381328322861601642165713983950020805754149910004698843065816263680013475000883888014523653789504025636473411098693002262220709054571664369303328147405707444572567770154889391246166571120624100741460367486564805193034367918588448723584163340852445788499537370042861382611996928136373715089390911717513517851463450527638834283387085385453168451997663092365712207037028724331507996821963643930641908184156592585361122349170045942745714280109524575517255605018477169204159339384667016249982662127500317608672072385049009856971549961350530517902191328092361382532737691147396558614260769081992161641113815605631195146592393869544497756567842545245866038280708719324947131720806817038155197288285635653112170023987079761868270716565785303165316716439137850007378560531628150604499121724000283249998389080240601259495545576154640251162672709231704010730766498354835582697003485343861326425127850687545818343350739087483665336221974994096791459230576254043421896241032152593731276777254416792987190692195192215969237241053622739233169987027728133648801505690894435645476217751830035401415790581999860013385970654550389590524926316053250278086001576988185857405692784444815840114595519235787874565186389604249747491976722578577627168096375283127598023895997843683438270033070319051936142113993992621130885307692209012926516995761457555824438498899112405961593518856066930044723653863164387865405552348310189383680724485052789154702822925824479365712174066200571222780209838258959169227780885372064924947792984903587564334090797995864547315951339953364174262923292954704983252119626711690323549965813461578435881078419012955534258361918861831463921725412728051902802447491889386930894418771127753028686953701055955116936660003739101828492224612255647595006195883857305343092719075012340069310962214248918495257847585102361666547962980453062404542434167362865500906472476977601533312138588156982310730282913333708173430240366533035675817122334571069775184571388958041741327685504743446176658260677868788217472676366876074388243271639726004547946878186645718310355990028378677459267691977784773322511685089272837570630477670378080026303151369832376002734524675253469318468137624436766376200550488878018491953099098863249474753751730467531813237482794088156103787034131187153938550691452317650358748636896714921997942159863117276365683336896820589473307487249374763207764163274090661856120433615200247949220527035833295035368894425756063357495005849091591298730074800435658444501011267545196083595743410720481819139747074344764488608994340720802694945662073779220522869282233950873287636145746093128008321081597331354999330318953540139892575954256561429396588518880255621908486447473262094279526633551351853283758596886267898733999145511387643932845063295536411087105529202208340667636273119379155513581947637013507045674019741703435347169421990625755192467234495994193337147150867003040767787419247191033949704510450820801960831897774453510037934479353654452653957137010594712725430034384838755424769343878536629275608389066797593587619520712903658596395847495620546793676490222280104478890719262467813842191142504638903701384983531595834600996326864763745931933008732229453007015363915669168412538371739620025153597254359736059817697458680296969256836104105674269585074499897487479539178104367219590338725417361774061636634417174411560595778783179723704018914742339430004413620320617604749714129084579806344031711325951554346076735453079324756983792330883402345240268726124810954523480420133715427888881086773476506980300106724746034416220685050649621062934555246126952046679552903046411143106518587315685150244385513179899687947165572768080143954402139936444942499558131472056239550282405061805416920509505054767321065433421932684383360516445180603264137528608501788370818114312525511789095311058712730436516764070344322191170770289520012597381237895761186569986328383673256520847722464813065320668597368117217483867165928343323913716483727589555517431094785982303081446769863589922537092497899676818888764811576488996970572845343395580993870782997302610913780030824174152446106098826282997844836028516440546950071874293009934000543247546186771528284504560551771597270243137793269711289520852269285660301815044554601182810508155248687372774060662773525203633166518180956880124191108917712518308309750347260812781699179476438184963290384967442841773183220581033645307432909146143871822953521551632201709068060979538513420670917868790482117361503037435990654350571716192803643513649027809681896501658275000043749241559162814786771364280085245590190046586645979868466341386855374613795170197321673359356536085687873114101584339807875075005911187343812099052317134928958993911884975490523597852681390289018816351906701661972619546114555102944048900227246948978623064868520641189846633450915606505962995635489812245619371396329397328092048535178741670613476676358269177066283024021405648215085096331570843128513173483474470589662155909284451546641345523424331091053053853687928757296646783328983047364904814237877213711284854196622988593072180938200224400408081252286764425446099626772378980772190591344137373456523732346038390783747517621159085222932364351090685075652981714691099457271427624708767536657386937953911734592621390520326361375201819208630829444165010438461105364743903803505802651867110414504706543052793386325121247219662975731090356113746706819786485782643895974370975366588216367419664845843571511095420677882100888439468707703771103275621110561570865275570387163027027971183687046904709060893787005397804907765099768222980899443908018443235267966330970909597450741280765873348289003938784958970420852269377013558187111745142349776358933369872408248312808281526707297446572073563087131659483223490950616198644090872542347172798459200753528654485912766162225051998843939959749600581029258980290097747280164745325794074918602764454544328051806477049260826503507465862038822538977244446392775053085932074370308547238589323796072155915313807338302570113909257274212064566035682654508141777437527505695194165631787985621952588950046561522966609635948917266353788981623662851889876763453553112278387981688549832350759947828041210388240763732113246157911341386662853123022438654298835245916437884736381977667813076830972470420259307034450225450804468485931578182172416143482625469826691272972436769157309877685070418674682861727374470458979669276021569153961145743089460379791557888021329875691027079318863175233093754696098809093897446197516082751163248919206475726367017872216874011923662331976271378280127973635104007895146196025695193770349800210780794739270050085053340373129869564996996896117645402671483922270035843985707444195259126517933144099108372437303718227476659171917358405269342420271228287741821789312217349120239440088829075237120390827002173398650074412760472300645854116556618987852867591580134798577833771143981159054600676352646014675681279065722616168920150216769721816227921774962296485256355719885009331493503114126400326461183864152773544305384044987684509643060741258272968754942191287933143082448154416298764802654557620122583231970093836462797586251426542958095819152917228942386858109550032987778613132852371572313786791923740516998483580944772808653707329236762835103443619965104114991818469064800966020518874687616809207199078728269178342660676868376808740976937643296955154209444701609089844448498428231978940251192775787250052129330027834116008620851613101194612156079458849612230187072770906633610209218572451282509603350061246102541490976793897678081837120403728851503380393748707325197017193950735959897696424298306874659530999323041511581335107328866585545010774083290398272929499126585629160623665545414804296437871637932258709385044551999812649957793065801182687115898765909624653210171811460073681849544450084444639359704196813418916177588162747240245908164840734323118902202651483136315178342386299564567044328400841453607629563556622497181590892481384996689626294774726198988315721369462511387440136287009583438923534818368875771233797335295103574340363597635913595312534520881913852194601918940603599900929686021617468651401460291817223547415940573070493878679836880773659859933604585525725458716049788814377242629468765762790688182679431348203979960113912116705299370762038620920592298870732246150131304144653978213008272131862339801243319200367862151397705389960500531495728819439820425281342204766561037522136266499627182662958062585450248423106527748584182852908875526059778396201701522344486295856035420995448152029422330001341552029646746464020161538496545474773607982319756571555814859078253814382446564853116555885181178740278377437370452625987101368999190915916585364523603937943886284727494846118613835184050080219851428645874052711092572719672720341726993641932072294881520937891001682392242522647596687163690409126348573154588878156791518567921654588414520001740387141604413775600017518970123126840373486369890291729878134039610929218301392211758034911247255593842564151962656215317225734720601518818600260628437391526659766429545172815499445428429310027850608215353976860666692429040283714070337454678902907640882032812415951831337207214769060209462945058037858414422407208968878914002457526519721823510986855344379399055736344854367205500772389321054658631334276821832136199764142410844992687278279623883037259777510075127702757050259622697606152445308242348165502139533551956022114777414565492271397802607214369980943705401975064138798653651780419309046151014473763514936625666731246347521934466041552000217307611676649519161194275491143567000036102772308356850430451136608194091639998113618862944061712262671431765131515916118292706242340607068974632302365674154958164329730456708478444622237359008465032639462342027803321967080735662108937928097378202015501973117698767285644861905628060889879660445817446415498200202916392385237394115438274282150987502423782566794587620098525814441378022729909247466239449094908986863988728343259494613839641339574119406359657307539008064235674982809882656464105553856956723471715406405185126255023209508893472078799571623488732517708442470240560749027899706191608075508760686531805857411332415573344029022614857353657752477860333467693389522442032068344636657472858751956643915110473803186229746644014402949334902124279574886544799669736269345688813087955924926439470491132944932906713613489361294604749396168812215071749907030812985959650306646567780372550687726828813325063867918460249583138962620856112067607482801813366302019710783132851219406601977008197449942575058068158864803308923067571871080704313359352729643831926638393835784524492444057449005860164625862254581568732034278785223812629929445140467529257265449167956455720798062371697371891652465848346228808043510789447915520800917349328095198937390203137052195729495829977311254552261809918993104120148571815056926808148895939346841539006375811094045042908443050666107379326533922277889712263337625292157750922293540780122563841267633757954569059990480693134570514202213432963678569240270481084589565221740795189240918623796944486099464185844964819350774609291798552778015586101253795572031450300897994872169262526959188336888462978043068414813897055790485995132084947174739334463065696802709642165640838100708775738689976754675368355759852722793371216089312968018113452761606646135515096225601874551719024621421843142825523925975109633341124673539160123421363375404754212861894700768878514293188601627496414811760722466175081651891793967501592804913995474189748648247145105153740594559918262583803327371856100929462296657567859500331564035529754832561708311324102252378305275467951007599125555191345122467768167152197469377302993671155223941012350624297263563667094557097871518910724938297163891332969154287124907797980853181854656045404914515311263466671091632844684478085268346984498939394352962820991009062775800382451749762181832193780708630226780571705891406110517050041960794273944250389770957642150502636767972624154016431025714983512115814713198082665392247437518305378053241523019484685151592737795139438629944655051192164341597834913176656879273675701459173880972108840206605830443716058533344568387053823086630860050834082676832669152366201047469413526409040822051870577627436619364780216926529476012492617706127290335990449970108278535109814113165834662804616063451301975099455192773325777857602440795470824103796030181158824236453876099602308156632872902405121524014979899573375399134566151997806816686933813346132494944699953401822418567418881475628924084957923048953457460359878701158283331483399652727580165295701492978755535637890964616922539410965814626318546938781568056478491847078090806261439720915523540756118542962456059760059022734068923892310835047475700777024441562194864255420435138876481662763831218055085307960380017193217136429544951934077659920736216798110178547079372146788790755111907605247052645521088901263565028871531919124149189047338938285892843994515024400220011352172790868558469796310560382722444696779579982188681374644952593219859220639462997237212603598848333830093152560883884824503295229431071208018274289900575754887513813483238113655226096659267692255945622368449490831334466630137501163705643700991930840153010296243502083938147687645496387260076945678319447943342042826868078760086425383161483352892499920038774949473045798159308969282995908752081851680694851517676741021596564907863630257514417330915189360229375562311583568949818335120793568658129715802101106200585778706536590910154872435857719397487483416880186205826190958770849366699254843155217875265550535228475067317481963342875877293136952999073952078823354441885373246099333632935811470619951701276161215434248104533349837334008519228945899364441088326482651991276076620910468089003998488950902448100412807171083566707441610847234527190501546600688979298284068906380943446948657216208720914790330602064541839869496585555820701070119790964589922049782741253757588465045856753426247601457269132253854567329305660495013295123949693373654453171805321582164211810014612225234647971973584566883285140283414057260373733171243467787321617785128613773909392043259590565721618015423676182629056406087590060534149180173789214494212614059316300879437570930399598414910524376094826014623916322584039427256560271571857217920244234175693742793333370348249145778469649489395838092728132061703584341583942832159402004689187430922210212529653057904528718903069470199310533458768049035376445489886201695203214440759463995743654900498883001123915123742161710769805264713016158766125232725619735937919776139152934856971759842166607302921841497659899690476376934450904579613745078306855866126290824399377000628605234850893854313900012186734279271856155550791135042144012271212841277737378002196773591100039137695296715109655975702274039817487305953391202949279397064941242985552525909022968456465680150708691761705499566270243639855170012976343079524335405523539970626394282148697836620401953557726787887596085750428432231743779605105709218871505152825745217270410123334297717924936700056628748055036223391422473624578642862596481938404431492046277277026226821578726757451096584925789338295791125092971172881032246782026587666289156149026197663333266656744944824882334922801501464318012375717993790498999293983778223571105748361780659671604554653755567868669921718698449875625903039108285380836335388470797550915275830124546345707528224073069270397149424498237647643055069919935990627755857229697858971430711500150186965964174088084791926487349730965740002861495677423859420926800605624239251397855334314050555782917543216217300114002117097237073346327491350842729818110721114224723296406900565684670843896491878618525413566916383171125178695937348774021931348856948241937023594502543111496473299734063000524474009258221175649988644889884461729311275675603708694761034133211333680058890097972034222395725616454632083088996940403334410524931804323498904153672660072968007963070433279922166387349500037092670745540117804266224409714790055091092957471925494426206531852368077314409360081641822101257940201752617866949331018204052290447987420616087478790787296437993937661212403405932356214631098018757548554082639714988408282797870415629877709083508829547948273951142982451068951088282304225445180833015681924231478951267794439504347535766168505239317315024416553607765415802676741645953323129665801386517264192828160084069112979320072338406163496787471863069728967496071158649628225314766356836559105076232128887441987998877038801111167925110084408283251468223470888239186580842458846559206309701206610192964025668461582620207704783697022532070074058073658421636726531569763672159526506303513532746242963627322124838809385320782717642452666672898877696267531212862123006362357108612113345801117463558658521541678002019764527314209680314884201368952615017482359804839614919472794034200451492400054425484410902901128788630714140078026231272072089856489292988893128489328287012703348949594461105076128672331852413789151241346461425187087816372730294772876247200038057547109303178100810825257136637348129654564767040101389955142498746866970878104371165554257885703890407182447452247703996797254571961871359342393282692549332406075895482278250520663580899246293411546636473218326221917942241096135667453380541327425244709381287601122335221622844156351438518843044080280671469179562505660024723984102044973272308887186049491498339557748421453911170925898408466271256136868641228253878515787850369379950159219201187985200034634282663826166084045766745000814803181377439104533901241110616550711830757348050060121022063352633694699816829338923516679866214326664719504255144007165234580892903130624530085887156750072361007163323404138936323866352895826461326854321728438697171162651787223169816543427227148611225584012111787931849606723369736172373512197875934496611202971902186124702679343370905204799941451125092095168061255865724174566839444979866873704005587306853273697239972810144490600081957167638465961323087646395084465056288712291548000651158904605744057619854640507586023419304207050622467197600473819770219879094957908250541306144852848514640977918612512764913840436742660970696661926581969533523203319305697455119961874983911662807552934538074816412580267563358896817150042938600417346237392426298838075906871184620348612111896828630276349743839089140284773417063020961364114037811971916552394229200431004081583496809840763255092602996041283922865685670287404212180411349629628568998588628866362276678683367737953919049626003748119685499714795030001087238879289061068003818014224384826390157461955508511609205610447297212994050106898428566263770862734572543638245914008908441276591707457886093866199922073270623868894880341099480596593453155300932766401903947026524435649298385473021433377099758437277268200199361899770478856888911114255334652498814087039236663658817108750942461832458810490362309202231467856959184438673468268393795835086267062238766246507581399307025761508104045322351187511709253437250954602808696388558567632891866609555286450897765300301669603524760778450170309891574503091228403437703382610162395044649633226159106694172933633306089098248088503711873408961003992570035287326497837813394964339497989639881998681132675599994862591457828165681572657962566842970728802293009135344837420773054429914404107142989422363077784298976260866309527836608853221515929090251690150578672386523222561820490401625098062854387835978510731596436073503915573924045560100624240060869935226925451140459658986461926313996511126077904944084688073807674105909173640557384413872387013799886279217148080982016501701558904338651034108420165045628262966033323159430192844428944363941344336273038349215717328410777487674312081308615316343923519661007517015930985880591463078552104870520488572633350471282298947957256222904407210061706104355269395147296805433184368225562657908764755679958703058523458340240589747046651509522982188280127207356397153593717371072372667983531880578765897414303882148743515596920171015214267565119521072362637339995908979461270265189344446692724212471341493628154266426989915764779847702029023805216828454976322383781230249397004716449054580924377261173412022913727594472077108626887928089809856216348460487878022870652201103094773959047298232914488893071379040400535123021941025113759483377682160999522727901872117611494585344488525178614524801335634931365686506181080102182007909126543235334376446952053063822415876091234205004466051661096388165812750487577782419457093799038285334460361690084728979697060025025692652770032660963198623157806892732621551614342844952425774567844047874672727530295555498923341214339767751348377925012672057322121411792390943042771073336255218009789533475723067770531783763281395597914631637035748422426865194229514163651052773019017259326410872497330965358247080494743843088359698871967221317325939029505647359130704298337816662425926770124988606564661905736736681030415014405587963534663996836186704406654683156416201873205873468082769425832720684258263604568109954416852070490565991432188300945523557301341601940125758294144980759106528085604991415616645657403195555849892467440743802864827552673117698966327451139297639541100282865227452404158304158644992485276881439064424169095582739627034427393855600837220576182718925340465053885428394690640388699764180425899904424745344254303289501051713857404344844764658171943503123331418829052749095565650499204493575862384304543016665990607381239108667490637007698768250847400696803311360709514325745764291731910026890640586565316934557344507531867045654787132305469944863781066886936938644646147900867085582301821641791413773512199493864719401357458641848438974926647598654309904390183010679274690484562998732053712427933710042046920383540376263346236220205021801312977303236325780220962650194832683038894593525585020981815334516168234464397789961508378045426500024153368619775238672585334393466486148546114834908572106064661269610755107074451795508672914757492754020189682649740302065133109625971046316045675831145628932698153050222670679687992482130536421231543095846217654892092786168339853888708695615053005264989514028870464550120202560006207538624488399261840939289495784873224484749767048385383851090926522644409926774617346848000685610487456563434584130311051922473046184345227760840553202580559786957484739179100692872328040774066592969333880813707826499057403428992397242162069592224151366602927492275041658240155447916107705289552905873163930319442605035325596032819142641504307859555723271061654481293262925196125243270406096091508007143866749785307103215965369623965995979440637025096359913191188985318521459356172089047967715560156352901756175328138800877110732088858118940920339651914851424818137091324976968790414024797675332404593899667101298645475303646767277095583372387122923169773140957869127840968602228950967015696356489461252063342022716436108115256083378071187752734289034545131686829206831241454234206725425123643947545146787508890329447452441455318492370368597706555469369119580941277015833858935991938159271722208224983572763166942676221551494551174979625676425727308516490068636103276605971188940410459134102535610394203038699872124687059303960917095350890715848163833831848445887742702988282108931707765633560099689820863076945982526112705977545661015687020471194844788739660917210722191731494827636978588801850867326986907933464392591038550753828113896824989324251123793294888545310043275447868042371573385959266997321044863290328145573558915465793839066221366422403381369355974216804170786629479590446805289724341046811394370795481028416195237957238731299526070490334752319802528730615803387965120712675091112341788022435961429033669442665770983093651428046136515719521079874104991636187605326440647512359200946590857501036365592537819729926461803670522924610578920231384232883377902423814623084622654288831017475838525687459630456045971987803277863796750181195671621903073370878034224724138475203975472885222734134418252387109770409441719513372542592730343391101907592388932860950312183492993534813894981348834588200801958956032961680985312094721416096850497789321762431760520173140940058988947594584160564312333659615215093112214062840996775102976016043541060848600365300083882000243599897144272542983976361657111074361392546827487412837391687286918355128957260993100006645558237141766241930964818007850590847680267834606993529241350814020002010137978939939371830760197055724418587315585120859522840924016945987536538039117570147446069373923849876217558157655705671320721169545502851819122343517204477923158064293459014705703782914746023076522829070230272789174310047217589609989473881929956554540263460119637298362724219047649286284395903549317715395158739062160594626686300805229991548496888897724554136588824375635850541678695886211615276741544815139988890030160398517258993609526888964373659168874287897120663819388797448745394917621614800292023896459668561059706165250016135536230142031516661831570729670356362761473165788315982765603236126808668135176409095962730653779317059924296247849946201104058957489043117268500438632613402612022537677095320467118207935882618216706910154584024079582671007984503358305393083737482724583528689072769796260656973383225173404774338451454951259489117207119169923555030409934721188105793711959276994336706646857401491604150258478428950477968896776375434088867439165160221788420074893366882776157480854188876899626480572031450131335663940032880557875495111381166910664971887541713657502472850518990772114712310300980143264858775240923903400461337682904843188215950243496948135485242603275431249872099354311827348969628959459233806089377445918466064924447939950975992803448057298031860014249762353090378040620844685774513299467259967692194669136032023433064308437445087283869467010928943329109417601485433292212663796088194935178601298041323343567735597514897723490339342610774790457296392046900895231552839931707509759709299759270764181983650244263581158966203202669752402810416494718231105698345800004512494683737188558073647783557507051616261888485848502712562424712021473075693999961418594221053699161704191322618947579871907662044616719574816462148202850632280310872674862837379903926128141298994742538959172482925635513317679638861653259628066474680285393813800503388508923570154028725899038144662883007983149653341429176539644017886690761142971952268542392997272290374638679809347985446157926250942833590204942246826156904521687296639774933214642433088860618872917664895949108818353232158230400282574771393327581209238146146825841817691138574647714080794749151490765148649579592888160489114583605940228363130499385951277027161281086629339281375213126270942194022124975540258970939096500813504566736130456828506440710240554128457863567762052763211392338955307149410705785364530221425438483604221348308010327092684387954455617786344291352409254903311434726800419825046921948579170386160697285039540731581457830115826307365173624195406976424607676701418043114137081574027780759507834248926749335716740624659364302474508003204794129411310237702587755330323031718252907635503821383588811096837391584751241494958033292256863931329223058164831482152194141508444368383652045190602563448894046073409126424320332849917187392390922836537866062084117753087199251015135984834648978545998045663871323202668811267314445751625155827382497816303101226591009889762498393846033534324326728675775890495582384166498766929396115002162660867627250138880520663344303625748251995828724779978232658673137362330769046825394031692097942358754863672537014838446978999438002387060488878165201444066503351448850526800622315448654261648600569037681091410712671219972182244449823922229972616662599748350186359035586383253146397904354927898882710698145136353259335491735890633836955905829000094509482488434495153244358884569709616352883304504942114691540204112991579012022111364849232930722870103959587018731849146467458556848745374346618089547183215783632422568271184094625364015892616915244505767711679016923182200555660286231391473352155738416602527206733564400463280190870901693067532696261614703714082291622854947008566326310355658421102311340445991189405196731049118798362643878157697107339993875080424208386604392425018083993277864337667484881996817333768739095176659525455954696440838199258021081504049694822060923108694959812306897275043355427304418896279112342944028146624300637596890657319762039789235274374125776293453452035469942920834588674406495739133275715096861816152328418393075128552007907843508145348080759836754863314618116689158078435583702107690157169524456658559184562292175058517513020799094639265723649040415050390441612408996901922285119699919965638539839835655062254877303387819461394894857468107811733042515919081476350409038748193004904714227361809584615751815516052119424043909700177194549734432650215498066454524941399592326587920665091561284869627405174767200400265480125436961310733290842377818866092837494838462087974105958250498082088768255602930429974502447188397654809690789893038948321757477114244798232783471185968888010583931905404167518356429724088503219554484812579595079343731707549500598406214253575270929815061115772258500474374493182871833697954270802277242270668443642152355313022910165554037403191628673572086963909481166394260348948348641960072092039968627226066962239001626247093077716002125358201306647374549804848489136547007993633038301939353283832931174266289941895296021145558644258248188129711826092837250034417173189613455846007086883104162989296576394247096595554020566269755386528301129781519915010249341825754742217075252522120389822329656134488150397138467773910472589124653975745597910886833499103960879707129195685190950263503436041776041804271480950896661215979191831182136779647620682077610166703256979148605493640821412026547986428174617632796395230707453251432881592181168282066854503995013146858009549592903742576976489307139497603653845146932484736900101395458651477066256923298022953143788480895248084256438120887861458791855043036453164559601573130757718289693194480738694115412068757776679582058432463804792498995350033858487866730345486327977196458755652791281845383210885551172339990215137728422791290481735512171127010761386531742966005721300240167371405600841351995628690576998796169286513149908029941797867491309662819589797756362496036920589262561411237780940238828488996804444167014805786550044515636881638788406157795143879741405319858308726616268088173480544204769106790739705106976495945102745249620933487160082242775180309234017159896454922628117152604983340091505112212433304603315735846094634458064363597414263984512503273270458818631474643211699610513667381541909675294199337521801137493687718090296315855426252275738122917199281604799756720572195832863906950337275777995348551762335330467358311188338288769961119396087844870307637793622303297037674776784432159830258069687204819345376385085691846655511542932097769038171875861105740654853289424475659779742560611006782063736003411541454765249777235420029785286683841363332201839317763215321127995207253693378063095203299790067012201662129472263271302962079569771304906260488912250192334471328765852994267758409286548964995070241991509421459135036763968550064564703809815721844999297268110288863069603120749778852588724968642477099493381386129426793591317344079799619064890130247370622692087433489869203115039959815351494718671994929291098481242726782997441114035030886482031096179689837668299129691591329675738790701610713603071823412221663906799653907380881776915429188659603547481787561578983996065377160994381349763692625155854633317325994329713117471024927310558941680718191656225227706755885704665041516774926230150524962197133215363141481961858625302537255964214332904613680906239102137044904178719650040873444445064873733707232183838409951944535085056916947503631650036282805244980288075847533826232890627384619573615113144274027127558680918193167665998102463094467717936314763779564212124423301717617598186026299469786830051959210468030057602706457235257606171755764923160755443907520353970397492290757952772839084325266702060790087884393444637015313290009859801629911816046953588227095294743533329239896859064986497358995793998132906022715834659147701644550310606981196877634814753227329280182234625398770936564013305267319904673986682363698785058109610861746272382017311896856231838047437803556808300146611869577162179298790375220882579894803241678738159720964448589140340739245208268710981653162473056478036572801043592286218727665995909618012158990817309956971971563886724441887496456065465797827841796352019138832601961587697374822005255360597381818825121705177616319055823295855727044676206760204088073387918694166513000712759563679527758436963478738085215124714481751652596482727647752487469563791337165336718019493317538117364164745205432145237794041329663534999410579477535349991701597430410774756019013833480258737598486543043053572855969787542890624629558085218532123387777585514682520766868911976529653111966654945198233519464170133161035559465515399302751444007172057172730795950534577628441017223699987682360206818707860765809064340626757525673285147544988733663878040710675568287988091693466348305425452143200752421868569116577426452327286735092614772671153260204974493778173986159800181476825740083625993527593926597398951309967133229394225411552813475327228920865068655376010524992317677670873165471250690915445840240900893858912219785072922926568605636403551148254451056627928556365858099060091244326257471342141843014160697477723966424355630362881278136729479174002960762596901438298049262009501235676786154277657640814406448180437966528610987912614007349929567850784527448774446261148521982535796426437233215524969136220965329519497754343355418804557099035321807748900060520846133516406105122148200742636875111783381873745208063472596016547934705763063565844971164192301372895555880063302409141949431169598804884445616237524683495780018949922780839268792036690149879508558304449531842069639434068331887558660016978103577001319224502563316105734598283255861415460740828326453345529036726686709732844807423763713441545658992137084624777134055031341124113725801937725361047182286342531170185754192014152957617633424640687139550885334681955795823961672548489018363368012476142185246371951588657990226675127783082999936668663529641442262538354655704475068672231996497288553711516375983312675613443476850507623262281206171278345894854233277869929418884017089381724723207260412595433573224424934227529832099852301493541348475085211393143616267065568206818565238840115261189389795941550533871245115645418768318241416006716627115939742755142458629102190161025669714364684761697229078289274242355659836968262370772517625926298956926715178603994629818652434978278350275387260608230482326956255661587266464011493534736005202617256459352072401431332218541140980701786611770342974707397780907599704400201797301447581240723222131892324325325928890152984617021818756225338258793370411462873404655142432254888063888285366580330797184405084621797031741656859410449931731886364708762758873470234266684675452713224467368466350143032401278199683447843516089699745048972969312904271305410437471442111061001849135565508962449749318036897044108024267474250430249084537807694461814377450439504351780692085988116501590303750090453528857132786861470866594657143987496494938126395097172538795379801842125449390262322634491254354442829107001270212908462875155686255001690504639232279182547125150612271526536549367693061776358755897351280035616255363381898767622415435147217866993595589124391592741823282430535513700631241790940473828937920696807484900482862333196143042826886146294723594130194157923245688715238934369867561020986265198978869353904194203793340006150792979935141903441599850172833204168042832282548084815136118199489777010333329202350064980105560830914039395603547047979025604541744080868053588047186256575439451252607251413732203463671236222600849887812608628174959599224100562514036244846512929926809474573125580053005354625029027920797054782068010057158864189054425583276690315535135487964039973590507072223195148335858322227012378133665413509674996066965074832452787791720233275859199069685554461517036865050714136420184273793852136108165690783236267542890882494672232938872167264621875108494121741488546224655739119134112458575776903773286160248323504468327382668336995440450952275151161638612626884607045950297084567588058350752563961460711155586098864846500304788791069938483740471554757385589894822850086188390500221177155331775971649623077435384385685604249398658180653897173426148778274543893240312831556291112000639433455800988351080237837130901321545269579573720822516705891272902769456092147933983065386927210615591756854092884171678750325828140386927089852610898727414439783865490499502030290568948133051979553885146598260197368073537327957499653256791570449281795793869882493021838869750299568747329877046776145782997823958431145325272499466482985977682729160752781012086048592723068291924852464635968337824446144676404440028125585678433287042433242446800364238943938403273012700021966409905990364198479171033510452772891108639965661539070129954872099468631277224006852451753578822521614103288694508972170405667936420283497658683026108745306393394392602424314467232833235667773639744282073292228645062004517607167844416507711392461008406440055777865641614775569789594099216995639016551779027118667336008745194850634130842646404703598121621048974017387937598210829681393908335972835929397978306361085792211796222289379170975072390181816611684450753670879032534369619300195461783556564385118213007190440187770903502171122611986880462501516509462502127583343576491780674348379966252790645088386208513709393522748372187796084814798609621686277545925033267607884124386300436282775562365717030519347523308966693760406296185799595767377679679652496972452244785758447337482553778836179261046655700507537787822653874376788221327041166329861732110036243685121287295988391192538131801024287582890085048545155057373141476179884447636647928505759023886587603589781931559261677411136181935427346742176346498436192464324691495781801368741493203373087151034977409354917530406953175672305453387642410770956781175151797353540931251298416806042620534139066477584320376635975357379544539454047574036304533539077918797933226124530258806713606020409069886519018651137016563145382080685434337186924974271269168262235310869767132162862876800642235262300728456379346277625726004531709313504820122683006753927722591404785779888314068636802632637616404472160144131902392400671537726631673881113843292605239549671991581034083999222243269919665697717049720953792899248178429469976605540259411831480071215015490874828855347258921423625737131499632030077457458846971717708694683127664032364005912334050660541489641156806492289141188961586247446776846196570725903119646900905527078384409567185463031973580484902689394279908236810631384468911887968860859132244383580732171921780259752675051439526897080452301786520075082146315320699263545293922741303154124934828677217925910125186272767163655969514765228130110190973211148160022057158038321758045509136541448326203498899196717931031044020559090899197024110963035587843468365936246391346131614552758261885361408536490294082981972826754000480095050884033037988208364717162033181918955766068159569961200208761003904824132229124395840877472583504206801055005754445941673819469185646540063587124320417291732755851711098405085712380337422975674670272727994613813582846537348305394339929825752379425631734521024098218695665642270131755455131842609932366535302429081151147617785291865610840510878922442318172656415358250711723395579993325070368081311442112324821035929629794035629520894268503230954025355663710110548595111052026393176447192560281382710674021633612424805554710193490682594010960894208470463489485473641091492238194786277769767347111154521500049272563475674710431032176860692369232605318669136274181171666111956069342517107664404189528531272565510056982662600208977383582192637894623438241825813663466841336476675696304336457214113118102001915818252587665355080824395689376016750749979142592175876183126785473481603683886128599720991709293168283838156901554106348050525744092798481658083952557154221113506724529575909532277112426095430062906313407631336196045053124733324398000496973876240570804063606684203843652110953710531014683381090968923918241953520277546834893371074003293663692972980456464636784582537169194579901320711004452534157026986365442628390913500396751494012755802495614583746016116426006832002471134952844307085963830098083791850333864976728053425766095528654324961292182692652890749557877128628970657735621761185718995124802077764538330138692290018717842922539191886591653211281761575175751272363820172295555267339883174928457084097658812628740689491939964325248886261544391384841588727109075400258728704337645792699474602649976431808801148087796717346249221221256936916742231483229693842114573125506038006273078291915864977539294933112518107649446452680130518244476260386064503613261427251710861181982625426188321620751415153416211707034195717989316306286050704071155803338754761052837967667258786379577372630607543917935051039646154509187747968972931865196245213232654980236168966157976594635171912306122500825251338378247844106591452819230678123959604800216986607540495575747888822699529387430046321960526097046585883188603799187255497562810617755781492852318713647871158238117267640263917354226772834989184648303019532237258913989765380198896247225428964335898639439516068409269378698042555951600731940311875770639899502801282736337762810092600419117196790062738273196118048089578867456801480290404944544825037173314864682817341203654130207927740137669264120632448842681666847654040926832109675898304251592506733102860225380422675182205554518032544714638055899027619031422412668746809925515158773559281615608054571837524014149727925510446257537398838508789546016362769748736383165612140818536781478844433215353200958721686899909847743167189234040973129214802374599498609004644965427500027302552815926110787304132768562937924110384282308453141370478926992724671842807811393790041797913944917068366576517257263012388260987318576099737075709820291334340431777614206525487487198243648596235541783858917009410336250266071245745997381062101598474523480389289456080991484076419431266026039443750645101967914858891151550273003651172366833031549751787400312249677483303631926951981864108401682902189056696575438129244528994380226102736957649725144100164980788849843759676515237697070405456164390889178699925159528637225816326506160755484041949950702389676240144201040905250433767644683914869101174060886886820758148815551286659640546410036634039147262713348181218736712845774113303325709660365107351572521263668719040509989203269147134708301043623613722778115675291458827804221677380711620011092467644416397577508241254436670001786111811784330897210997680270619659552975785702737363992680896746712590608696491448634398249839506985956047640121384261515472433040620362939686137749045515269195154951415876218317742937494605360677351263858410013118091715260612867196678484297962394767838531587780685121419708179546325480314083167460635159619578894891123554321969195170369672174552593378998955804349577978506337727277430413422026574572856327480944746371915734831578078353928774179508481432529666189054991680131828250033038061193838386791836437840125711385485805933857690086846821884503376827897556071036474329696528594565288823157208803983590333914476745349117267420921683384597718304918390296069410572222052342356433799319383534642944649306980027268610470485170449235588950301928012142530999647430174347021936329243378098737185730143964436823553933134133849387946225565944970656835193026746798879235694794642481705023441840918109520076611026827943756764877035052837655716488536989516969928925347022473959715374655210507721219445945807528513328490641193536200267834450793528509407141004614613833198649606619537329459062499354649581680165069639853863044613111687372960335407166306726243546107657263618361338147771648769147265389127255409538280894803512435497902411229346782096663382470519539411963009669555535905966948147267323548076513195800486187776675145687043640953094040575509172921697067499738270298423671989873699678313621600467562638042422346037169960954062829626860594613392336910888909676520293106181461817320470879523441732072631824701899918748513503648192685230583253746678235393341682424148890155538134335318018017172288544717633121489782293154168123588788224687460252945413873673814986826884240721578861421524621487758682411047571217907738313793845350288718569032333855182030011687783407794833280432608515063573680937461715458041079205812873798949980717347886193839330691185520493863944381939025526591520039945899672595045213355167483756678439769823149258398336355685638544126162948172582465693731616837457183379401599268536122849672039965476513211064393709490119235621022108145714420716149922397822405547993596522755788167946629478549618711530958569315384772038400635011787576527272785326287915776706168202929900196384095159670631462856216865444745398940595927916663111152978709280970594874921963529953172079392288551757672757993047004913756729919482348494899684144129693341334629669824908312509388054972722831360408115468144025930059309342451306113373402584709899104231145798476238523026021909564112617835856249437660260790051468358255834423892665160985959711992825536990089338530359346283497399441494562061508167521363459514529505605810463288494839911469814843570567085002697682676104190283771866400923083497900820273970134779111085643396195260264381982539060858624011448070005639983403950984716701704574739055018036941110000604686520642899056199352480341816840551782320121621035142300627832494955414887989668658181405002226559632397696979419357901106650766540549936522978374385127435931712625924924738103219836815893121268098862805555602527149591620858371341376255474518839007820618259635366247033290820405166448987308619626261217730294824192185783719886887918395740450777830361170247940326928700511285535473846723780720469727061612146206946845955663575601430028324793593643305226682964964601975849841201652971892548590383471719749422720097643940363145767256644123475050938739554379008551306958684337272330917984416042570281042453827734975498238625355994973366738779531222271805016803189447869597442703071152473198842205345432316292615967436205584667546807163946630347636090150359143331888324308402599741066333381907195424521581422940462752805082868855665988837310665415652831916396368590524509298534668741437891656265715160520654333192511973834275942754771102608018178753648285800806639956110187114497846481742240268566431208094224162499955997995143356283445285761172256308682943403405328867756131709294520575073505583979256928167223554203076188984489207049583476516434151663585475622873256322551106951148196354591777826267531990737763545402299762291840087663197670923464715895470335892909516182003168880035118649727441135575256945250032620532734279905195202239888225346745275177616951304393164556631193270699664848657754422113418261788627877079397426091332061609237742720848689991272706000779238592748805359544623026550506565585835292217328932088213941487787675593934038599913287966444635067843339252745591519185741961572731873889839996611147134463988074581322926197909922199663109630288260097905571268815098034415769059807865811389837751466219424892190259745514524069986495906732955486061313071886156447659631477012926453075091516367597250734917715643401820888080124547725320565609521691155749317599978569574068006859291294348254117393493382725728162276225711827303322894591279064728236054050613866324566978024574498177540172422585298292204856567858885319462459606002537478118766888579339387543797028535003999318736152629686628914380527959467039462623620942432090975210004744152775015950675563257054651415347095226434838743374569136775732881111063977791455960129085388799008133916957815109430120632709690503168833650605322371504027380822426955345249546290239218732598426595075468013671309839299056263133957905242386597762165925510260270605926895720788301909438839915478504035836875584996996319982198254035756787152352673557205523303317148531775987183325710279586870485521531683797936383858830720883738696465261589353817737809985745710543595419166292368190590004453311452897149671108245332724753799371157290108494756343957724320147309695214191907501407424490643153805716608572769911950981545228688713147740302447286435221356721245737706619942241161449485334800557455434180967831332631587951663284914553841774612072405061876574979633776737695284379877623402050722112456003831696160613436439689627461991654738067895098538279010617484248728360905279348519737566197006967757528493804007390182755717674465449111543484788230262534898332593714985060961765936567713770112349996588711444649568293993252198414186904887860286892239324506231997810710003069176411847114790714236487667728592800769514988295167867367578000052346631276120340130961517179633654558194233229156881955449550677139307896883087056638025487147940650621856065601187455904312090123750219143476990039368838773105333656373254336576060241246989292664442788300479897957626962490093001742708769865255618121802644798295919874184358365641570030088956911610876482062396975663477174572108737001979301883984402380505396648359871273704489238050342240686333378147453847668116002921597081224160868434459657884855250716171113582255020872205325622858668784538143864955060491855144340958829819327381296160352769914497939295426263825108227733922972779221675685986348810465017971813455837989915768428586328544202391175327340239099249055593802413925682971272735579135957098223971818951682576147490311869338470788278454768556775657224521716232843997339052852816206832586364676905736345016642002934737353192408664179897507855489627780159831446876506255783150482754023837480642101519952254537640277682055057112903474474824742001184031363493685675376055515936241591798695514472470234842584257140983498272457337242979730108857279444169343393885581821913789960834906407045940564508220760508528367583056937101133910559241635645050090876444750646582484790902788470507397694076334690995952727743915696864247182441522036460936974845648826575864125641030986604516544720885948697007571792482104955764036841189239306259330940316079898133809052527098231119939930611349949946872094154072002739908237845080825120402020322305907989196608619989541484247946141120898954123739069744140123136071499224003887936040183972337013696574283752319937452842578550130864915767164316786952374907228396018769194280816810695038302770273232001600731664424799329488086571794050197634524556315285054859621463459655568775699395405529166350416344519848729169622622553102216853023831629384367375476112481908991781912502884556595735623100702859355578310877090051198395586618585352455907680172082832906116880453073872330271602620647249353686805280479509935536141573261217718701640751394440420070247307845134520973855525630209138469657523373870110836214784801835751492088943009098494448296995008621838446759213789905455919518792231600265393577895339498833452136968524803968623776912344113378060544417154243109433187818015728620306437871435085763156535172053914571327447901144785093278691542243369560855335122249905846857869536040952085240962789798934178186510404269090453219965340684671331648833358850861583744908745718700020033687095096383481004548701650932458869674221686746413238308051201055297449049466117744371341772187279838958799462095477348188292743391312765005602725990462015879967205760204996529822501330629895929983090208042083478281282932165781710730155735049927071624571095706879492684524721607006398457984474781513497442333169517254345199405998889278425026582558929062067571516394587895568577706414609246259406453907063433281662431895420812232892302759806167086664425228121756213941199562349536019641864455903212073619941569534725538270208472289088265160975546848657757533335536293986315342949417744407707633759879169879942485086782390562636583680358832020363860215772692697896513313935911120307539403068265717336165029661121484332567167412452963181823425970027054382181248676054719212944849066270821112649170062974735362379429197128811936229229386380212261033335803519703413828546849458623766474715919256608597214431355887988523533188258090982607342158325387739826113864240854989601857096887711385420173888591865781333072811670840891480805583086765647869402949319718951925383721745413471840341340690062628261965195051238815114410225459000672823017851410346436675651236963247879451242402269591559270268396386614704169264048834253563406509243341410948948482129733931607433111572144134349471673224643177453053094518353982694541636209114624519775082842202834150788471301970154365702925839471836104819806504498404197127345854919036325978698790615712810677377490179134626839896607057189082560740337606127364324316016765664019626338962746132053222707186664559053294458090996593979058346233165513318107230772734032217615549438058323381927068797838056710439101640062839899243765469236442213884992275650814806508704127158727614387366890175480677644128734531402256002542799574559246553728528673826429086600942160169754590313153133271374146697989307508869002294138159537451773076446432550033245687748074352722889721769865533941159593422542141023843213079591714841826694089986211539455022615141261360897802940267534019104030582865360609298789199358311604207129816276416799406576015489525518886274304032194322274736586215435462338291549064582567929442384416080411763710033872716437967264103243640877911475986096777629146378942216966255501915143982183239332344445394585608987119825994826725747827423268161966227326121323066622843726126912928976742434254039708594127652489099787987688869380349930349665836429885247896041761122957317044330077495182929251188052744795259704607380064576602132649323144435852649477146735855662018460065574473760997938061803888371202456787338475704187545437055418438002807211153578722491458136556941365140252388613820209042366882639257451582543426787039320881694236603621342347644379621107057920039286219162142198412898806388290459086468613998293245558631292305595697970899416107825887145799015212566698378760048499694791187572163827010220665414952902992047205040936208270821201047387242350222232450985188214728437157180780907588222956318017767340120964847680930137343462262528816824371039949873084171010611665004626662111316013742927033829730727260893363304620310616931171738916835913053773168452780419829702686825012658244778713246916142619388877397188069194893159914138237771805669724895904758600933131805732650816811437776212329914396679228468076171745903523701626968656029791807649121673711709850794015859741712229356023365801390059565399251574089877163837121446662293385230726836467101476681678416666240884736582762077173407874943191351197846468966012204845049251470935681496646031109120107411218964276511385851252580190354835766619556497035761207783876330106650785272389221532230750698989076584349927472247927466668483443915976157020965474020010200528161854955589946606314113810797673468788131517018648767687057404016257943964064345170247883858565864381479426082100261568660884231882884065553939260913012257090899463211514800199856061118202617746178748202006147872714094715369846775428198746059215764818900925768661691340633629617742184922835531550223218249683866429363209391346939051024571854039079710673064172604639398083155341200501157353758642587894512218098089936681002958012994699869474331738472322661046808765344157793051014532606689341493111605954577107605299466670496522579548691239665029370331234930693249374446535427632842092132769125197438653176502141486324649839331694411511223684845483968161550210947201665771700668299769789493774533174194952788778505781460006088764745303632048460163808055752930695682957967359785174112185886419148461903523939327119145677438506120609099566488075539667082026158858073989721018892896612106013575983138229928202592966359157175183198280571983558399260749706562318030101136015633141480731972920156811113899958782256327540899316290067135886199507299443879453482236987727936473933881580684306352168656046315212264532052871077915639173419510195727691401831688534540136818635232385124071936113781466922618597653464126935414180730523279043833795933945871636210192056406250430208535842293085606805325439858814705102048422060072982757025489752083953865255460819488954979467466935867911630111950520978569734803886771501002237090235337471385839101750908070934858346365321687884791032711016955479611176334829394021015186043672126805451677547073263899288374106444735299474465106821142701862264684982089922281665768897835836254342070765531529277872869262909174048644409018008736164863847851573880588395150541859979492349304467236836187551050535886432124356491597514177151158523150245556219201995320205811079640723882643849675238547410208016509312161779087694313230418371755166584612240252743239387064612657097306842906082599362023454695815187911803959629133037500722071288223394128729610466271328320153432238243461509486919594465195484085861288428262121595516959724913595419091375733812974236884575824150769973654643660427029941619840335718520328263864686086462771423046106844234747019243029031074167031490787776385686035237850661385129361189846149891905506914588659816920179699274887331807271155117128087357843698513855751403799067915134746248108887983496985355083152155956781407605755232984761510129423577138124505940217117171460525454745923022699306112913221618511082539802885156636695414580360201984923644555382742219236507164610383835698861347886523597911724778718385163976515466973464901311540150030320883143492705084917933056200217511442343394933847496873694985368260558446634104699815904327942323021736622750207229880646419257603071697502559887566007908102911994435811193085818523774991276422976896523657998894619879375864168452607284470830397777847344468328360838450466384678849385073160407780477279661928098275209315970206511534974829943850895938646973184209238869580137398859296677605287560174921986563477315996028348728601332584367324593760526378970578851522654047347600325191340155947924514657370183651239472014554423082249526167555888933233782602261571701459616516388047030132806900876293862578299264253487130441420969045374243417723582476590229331981971845767981651990644257308721772791839913716697048545952065842939251004103627062159921090098660472450600889484314833926524123137766585598864058334514357653913691446014246571174470031480445356968903704944097252216949678710149185878601310808142631262025213502367260425465952748174177265974397855737041576018336557121248300805192278474451009358987140483794211570706090655925988484545593790147071814042418850967785760928353522555247015203436813957218809335185172721571171746450385384856702903308370739271124390189785092453482967516612245838607346629484585180878487398921092303357947695684902898862332012601059660454080235906781272503194059390339040069865766199399536752787954633667050911693961557311424060655780140874709682677024407745110730778928883220848995984925975491525807321169901678236825802712018660979271213677509441604759435710339156187011459704178532188617640685754940715505410786511966935954702751796587403072940827915421017879645006138121835065520561750396012497309332497124214317308784265638826154220530951629239519363559819714010476425530785404209662573228383711404918620801919236098606988887002619004557026291785289149108250047575526298103430079467099150117221258221145073186303300650009800285211555072474997727646598733052042959065950751221679535964801887033012616037279569493483195689735090149290935473255014718906203188054078541559069839726928088303714562703853260743476248333488448176811766199432513224188174105032716318329911698814159636567417781643472338637461187599530039365247383897672507642541014415349470639538896159583310944747979427280290706366809218974364576474442066996929269665549781222347829849801055622533878107844439161305202793381173661463356099966166711736397633670341053298043085001192162282036402050791551629172404232783476053969295864131984796876632982600513634727491305972992055094964065797497642308541493398225160463249230263979091230131413656207179448472689295207547121920903055110784717539248740005240755819510552533586230877103724084999094911560526405822075106690249695585361765430585321715966794788110666939103622124539175942470264095692021612772199051070406693455551357926898359452228596476955118317327779905090638239096176820066213046445220093126960190952953053195312786417366919279866012435860832076254674982538476367656458446691223742705162329891858914936228698309472028825568670680194701736863493969261301787098607623048686790761708481017470821489244902543362691249790444713116183089773384055941811403734067693911277506251396305475498270044660858514723613318306766080062991865705117870090257539079926455460041632495861496817778633925970914018881826361464713909464560402295945647630362852173626362996197527889255593549396119456868050527618016269683278144839318492779948531729177173185315545228218656567866805707106629455304299817118601793193407962354879047263164548633640404593294443500815409179390260851219265664203759763550941139691290472765983683403366605519662448014490617636544530279853128414637670936376970953374866193947130609085604293997531925318326343105409709988547064518646181010447086694074506020605963641142227605407239788342813822300915580314242619745477208806285243539476303348349276000232082804265170010472350746838149427688381563636710720964501430734848491546068396068225056172804373063589116346087300250009125134935971246911221744853135132328180870050300829554932329506427145397196180660829673028259563962881780975584149857435668901152462419179400614081541698890987478315144854321616885450707956313089805830223494640900439457865911043343947893571143622910895620681517755432085305542205177530762042282278640571010933261863688372054351484270432083159012186512667160129859718294028067578614699391629078101245552565568508824882385449819885072578929939557614905355016604523508858094770421765507996469019860274553251488250180040442911765225586472590487879188306071589558637443618228642233160625683315057035514715816993731964194668566234607981154401093430895284430067953837601920778608028408390868642167625552122907703352645297798166380909033696684174868027570366632074780489886656954260095041200945921525015232535014039759838968235895370530388668780487856890105448604174031261746132961783871036253434230756817940604673578148281405098299922562444222989648782841503651854657397434151145220052551036478706575458968784496931899985852742157851650319418776034891950805905987543658555342764802171910970698008094538772851701502119077026888332765301454364290286176648278689407349460424040917274992528649252497015178624793263588781796504311363915401499448607230975535281906464351606450672938164665171213249245380657422337620048384538354485213122869802992203805620386179972026183300953794634836312608499252478191596014426732493932529611081722389556595372162371313642345428504271927709270093825248288184988117566367800619970911704733528941328573371189146499582219557401255015438210598834585794551053449791411695680499576031342273891122354479722691935239981233301969418173310987740057975811584176943957289007139344996327758192608138965944228235420237061073067510343198950087219414872202914613318736413369096525346715103239894923794917748195287780609300249980256714196859584196573664940720232791180530532428378014620046981408179322627777608741191884400001124467323720761720572158116294917379504057328639127988932594887770634843231612852316517837884366092091018911502619829826985576557454697540202624684326045459361211467383919778156694737182413182217732388061624471316348626621102170875248092480604881137899078501673895931797586346264727324419135040873640240577703261825625549041700426208239312158383238448933329036019373374449606669723347566309705202585636319227811148772248673163503823557995808339177894060814017873945647260254245389332054523352873694980371688684343484749358505747736782470149817249488326947571745055306904333986072090276079398499571632348400599376039486236338697839125545916839848513035319491903872327182428397052395720143363539966266763229270933879057819422697597970150068490495939168524154498455023475252151683144659614809456954242056870722745052954079725079721277681037736847207544763312544879374758248375080567823085790639839350682306200549791783634059178393671271644961937829391180813750649987285526615318099527276258444606444285804741245418117975607291594042875602773341418094203317284772649232395328791870538132572973855456278196926395236524645801377693726942742761471541289242792164562073472405182953971711134722009860231256906526871134649455875774386328601872017567825054777607619195018442138137219134732092487630667759483922683107597484027536881112305812086820638946046603324916370026383125085625978262609535011978575044441719297709923580705271429720192567281843942260026778165002742317757742303794877053828742016485396052627204943401407088537931434608282151334260898342837217626833390466864896748558047852731979596516989189676414571161443074121412198169052043262023871792791991605057665621666904010864248376115323914158398069602002751422648608710129081886902555352086522618183465164478205231968705321999672903300723948294314111633123290229877123077914567356360513143749755844558438323546519116922644995599300438067884915274760139874288121478961844543511356972630936637299506544937358608572501653869547551121593644179936505220793202456262185074359748818167205911779328588635339822941286975277471764824508144654804684187580276874713191135990785539523784085743429616414600083321305744108656051677451414924582771250486015737419699393482538584252523197539560775086842503829962398488156094705293164159526092718381666922039241004145863291740964958548285934990335093081404637891070838238542724099717910154961183760841862364663727917386541798734171101119780368082632990080960810334375514844040960264103960990717822447212280002554455538728416518576823071961006258917751189626570563234562822132081182687076648373698256857627536186014869761347520443802303712558298113922883277900698924936527898283710400149051144649418451298759855309336531004177598020142380417846897072107647177319913010404935076638758973792462680617512971273819092902345885980316502268318431053418537384905707383481038177916065272477497534991347158125765482307261333680656296826949219341878279498811404026753522550027377574749694646323620869240229125403199853091590656005358541088992178016703094276574451922556371133475178971109569196172356673869253567002466294144008462667550323992025641297082841185906714525642781284468183416174925862509371609025260554823293360121985614355963810792973543098933976835659142947728882972729528712268537794370231055834359517159067432024715980865324237753036639370706480189953768801734142208313753458176678744736077500728330249569060770998093714513566445957322667683901535507487859452268486201662989291241214416399245457534684981650280358610795965924675446477023233999310699115017743858973596519259818561469709814849900713678626969749893291315151499921043029675616744898817645721058547432593006840205927720669111971523898218769683506349776490144385357553100991221780303751767113937801029502048023533793618256459918924208699989565206285851813172650289859697617177288105040252458700136848564793643249246907395144050089041449844137479922989185249884336271379885886075795548991613338438770934098882555690420545244582254469110640644584981604579677595041535851225872623120539502791040248195506032672187414393451509892127638077419743829840574676020782235961443345715223900915956412898230398039708303986290213295079407279593953639771204802287472806141074429837053561697082140844426624606491013318995927635991792219382763613562422406147096911712522786676876688370442978619589228542320415795669579021330741748162501020807734780240503223264405735183105136711414902791493443501044816936669934998830370579467870132573331495698859011024350795378694421561553984706033738296603640167136678584352920107390250202399404362799862341234951175826041131454122978867794177527857575525187967210740801710618832783422186984577967978658896737849983895895518431285674251021119257628854009324913070923984168371391061127727284582286387116165765393295876908753671806232287967849221913078876949904823037024478874836979976182496127760118678422598830129953727152672346603347091968543343909097159510849523376470979520890504412129238169398754358316038565223736199638206258712291399642555163310716045783344901641886284433708977825176018433522020242874340317778692372003084906653612608580794709072441824815758767945569232503684695173944049982765905065889596303753397927686956975548722304244800012859496162872717668672804530335628528562657641893539013802116288866080537313318639008930488652619049862924988771757619112172295581823361768253527995110292618827081365714253649615848839181667092863041978837613481281386688187008425404495407280733393257516299616351121197601022201806375145433188342417408349617325843745805773475175286944437376458280723152290155243285441303118211065915508129345315626309392727306198018634315342011360633626097013611633251335960745202282483775062315287025955866150669389698710693785600041232818594626561550669341625438303203075944936379456026622755694463566261666750527222914121663184336448789567493414679536778568749966845628111780874270419528737572110202390197416323498615388936667302940364716787965332844878795107715094065592686644838013299152496515572610552322483073812545019591404918305690579767851261053641778048006065556636325449989051101268496115513786455836008122331585024563736502767006893901874936125102198796993353782953774491914464872922906133267209028380762785561806170464307460148551842467143419688606837438022760025808630658685059682594174165536895805016759074222288449492608871692020231943384712140756194796864132416084750879409310292844121808865879971446643635986347051942930672940726923526216129247899701889259911944030726341490609297447406724678540892146579197586937888229364908171616046184039956885469752153279274701733049683967324380516096098980983896376826985769210296728741941163932386568343791608830647860765521944370979565414706961639335108900914948283290088400892355507685565574403638984150991574508495276655169991174991369074739079121695316579568937773290357175007334827188464030469456627700447809167208513131435866320699238990533039671567317714674845606297131935940131555047402345386713006797048111979112438574822333068783409780356866583315798914261075530336118235967929717289374311474481775455205718551691256248291414619018240950098055383874108124331771380832900366316730319187282097975053753349229206655523711414628385496165832456652893767110007374480756700255670364242007491206017289381606600677083862571980437842769189230498834658493984615695169858300190693737278574902569325808454337336461411950930693643911879994596341879931964045495394753108646576050013187865945986486290114337781755980020868075235064730371741330760624929833613655661455101655550739724434586959762149566398482394490803767553410557332585185618349249904887983446020467931175213628472794031140100944780392154872315021292943667615894252392381857307093447333494579509767385323866780774375356506581736403505327607577280218761795845256293994951039051658750675114811714905116276992184932418766143418937451720626405732721258941522065845298171566005429269635158112095382339350050193801418158111586114249431929655662854889323749316228858020821291642174075189617678560521877063946176219382751187982225317757908407656312786696274167948992865711677354021088621017560486820913322862784328948531830370280171930249178260359948394261482052554255670648989008565434280164896839162632574762819783434642196582706304257533318464150220832964180508858105398853339081321759523822842039178260161515137537547569400715258215820108084751534744591503123295441505501499033539205757940292190090963333426009522313453160375891279490077363706639390926116883190006971547229164204582996307263888360914165469015923887423408407225669921106751417828897901566879224934458085738759777290233665604763714839468264002607447549695913237526714105630717580628635971919041593505350315700510752896881629546480969160473888991523707500420554727653422710485024934411463542216545613797172807721644855117230685491710958277741181946181593353312544346848546722160476101619569252272126029884822486507798387744565534409592088184671769708186872145981556051526948357715134586060444983652380282073550438866559815489930762163369280283266954961186705551865068667897960142515239763602595777462410903291741349397425389468590179881544577585758969535837514847470193559480635750788127111361556980777815653324159009925343158916341378319109907557495424843791086984779424350129438234910730650636309230126949150367620895786636135731314080060581980919785613810840696238042352385708191105504245555087074515675693721070939495624737409594138205245860741197373769264132427789427981169021603625735858138064911792939278121960869109949295814121790887646794401284279634037902340020656732726366228223990045445398435106283085829501702513727019108445611923997601162225953672851703986675358408580494848329226840021181730237762772237276408951579460411187858955043776950691945108953298889287973515871255580880728980180408399736536430156697727206989488599946484487438843738550492536739166644587941727819721353271340094086435795481383713366903384539025721758582880251266861796971262137057956362547447912699640487395268479311797219408661042139569487271537860202679924981713506585729805487951355080702383815916653199045458334957373604909346262006421343609297221903373117629889815509704005345366036868974255611524034809817217257302446603038076806513609684439509437086442517194909615828476577109127723311241800861591022839241807130034357999737506237922474039335801984631544372786621861048194106414519681291739363282465695151127883275511398754780074294410475398419156403981707308199386269046296649357785677675217012864826335472887138670472444700534289326096588201678934640839137419409809422994567327795459608110504266448107979265608522632997777402677047688783260461325770627675618277420548587235562384146809692880247490503697278714038645592204363339732283717858140965850930587664066823155954526359457874368528030048652071106330121285391464022453065449073303495710948928257966647578891188642534971802643444398778537993075355689444750832463558974793478500739859855597675954468121874562327569825362044540311662909870476858448627489702873714755070094218128372531332755989460044644470332321240019803480405075774190833563092348577911725213007261978249611962396178547124817687334169353413546604373316843847781498647302755849831625780377672481852154607432251916965699409684557709207430276326236391009749439372343996966779173458752307667535047087984807020588021140488235727213951491340620038062859640118508720985760431219392076626362736401056977524138278485393661331923103791076171236694365333430462151430271985162834514972624842610440469236612801187359915112432270541951549593802394803402814328516662325255869199567571672342058158805778350533485957361008282084990973936787156280874981572162421052488973587435754538528368242698550875469860710056267245213698063084948782644976605769823911358179103461602586900140905855969887721648256921910882116067175570999808460350051883675289866107109190232260227907210286683732316725465117590215678898715518126071195253970453267935408290994558818250302622675728385852260709018494965619732448259888556491192591235236074373722886821914354599122317798616879956433333314699472101607156394191881645020187939319343086334170013526185070014568411747563834334341714455314536776944594379446754226046044360118060312782008133244543950017529009477692185626003717710443937354222961174733095261676560464875261391915758347340446928380808889853716450218532493712190184282535906580228797040129072958869287736792512964989677561632389688955763985182558072098763293329747318941551019902334673202690022854692812033452081167679968484094840720963016822185182119687349848069546252420266611444183599479850863347656907818408883269109351846469171843197521685858194666348799883458310344613303897121518331496961081240478136571406862615636719372278227348523360421833092052173500746310614253919211024549115459736046587115019357927949511846668492761144557409187264401326964869980983083249191807217121824945985512435761473713302833400344773003995270139006483995900918896889598837311795749856922122208313397517875716765712163671397857019077575713344947206994771329856433770675718434823720187321198811947475083404080992473275615398124066044258678702729288460794536125317014366126093797973553066914076763398412642131030343389640671878344082385929951554111652151924531285846169622660932708146570014183646967184475380250204413307603201385232082367915251091761708029065162718616203904502888283065039953246938290806417563005077708830053207527702757586360796365639553869936645199699658489253942791424417282446048829731082617671526127695159207010335108115845412058840581201841451092068753767522386472341273376310581917710243667664425047560932407914388977779838075189639876349630547529203676382757523891266855429536510299389194736349634587219892459605786781095349826798331184890855797734897132653583833966145150280525407959753042373883855012038960364749753128770489060672696424098198216574375358254491963877339160055201166736450958039599503454561046544563866464062085623987780784805361426976641736777698227916575415008292478473205254595198391782321167016240445147941808104546573508163060615673566364877995368424438221876988195175363566376746597837457845438955485970929895021352018686743873693520164616046867209432780853786375672233303409030948985129947687167005151700061637277076704441206010725295812540502749490544925326330015136775192070684092361180523210221650732306467323066308108949969094263067645410226849296078239292942194442718719180557388979157185580957576179603174847630374998210307984158049936214659217787827944969810861862037570412690707102652104284818868607035274221994201637778145697777429333917512468235050066734636157769496383927140787802482472337818771066093752810979913492672177509825953799932022494720689161966450735244109367602274097710258842635934582312876373218292183453767228002473761654559102222942110279048757524957397182828741911045599295863057485714097698665874379309173124030243735739455734706799323436568605883347902275305667319492042520635496018078139261676769425666350892003436388589972698645571465912113282995721143354477565495575827633652081709672252573435014872642236342811396413268094668607654863292921448398634011093819708938808052904837094705320340114461302731283782444432918138558838874822378680717675810661922111281968531993859968545418518976421200029920384986785958446636581510829714707328034126205653404914825863001557704913097386350489496137642210516550722346620442364572645003143828253422371536042522409617328991684127739708593668108462795589676229572472380870644716946232934549657533777523200455419036642243474177400183844456654900260610635011748620923150057903085985117386538539375225594850368829785920157177487414604453400339598661502605875931512106812219687586819164286039299891854969784155918781062804442919326949759524145070741602496742320532024482659920902242124300179880152717057263473181668963916448967366887727623581220606843653200070946892493211752688931447945141485848697965397084751781359681892819818399188896897988605838676321165749709283404636430096553442139890407001858278373061702216454578103173481673980820909751447879532028829595044900524300146832393405434157137709679102736523356047698296537485008061924653021401083314296866112417176376257220981188469763911784091392330190868130553263210913701522725506410209260179920628750976852851210008790288806104610039021790433417274309783715195001342898129163386948199807178732527658993895019808978844564949307414119410617227750901445640532995777698644718269825544090377509815227077420053441999231026202699758864648180664883143900508510533801328731671509374097679355581929885967320012436278236080048693290737349108850367680906029805222135856932992040474552940594180313206581531482825220545695489683649171695656481319227366313292610261268226213468857168139386854450109620689268667086424792288653145316344712175713010878246001712883330096449440478305311125169551693131738912884202333475434523702321385733949298494500743147801526996761760359942711078217871798178398553715334235444101996630883522420801059703577508195535971638745679123052187202473242631912389608626071958998319876841311932342678878571695291777028901148994794317795371107781522498420093062552511818625429823263548681468381857505369128337474642537428364398681342980609388573415831011312832218472924103669454805015715376953514425801933899838255312777419583275205457419478905728508512461884014427004218409010764745898165920980627664621866813910027978855251601818220373997912255405927598467942144871243932226304749510075990164349550953780544808089073653472998005116938408364102708993057299390533964760714239513091180533434566623315846470236187541824396183197148564200637483019292458597253437813677709347181569019169195619189884730565944713350415900799822865313937586609287814035880675892975436747880416016081922548932783111678321489075639967108206283051472659601751853236629924580909699619607775044864250777773089259577747618155151208479503628256797231147895041595670814078778772920759354920620973798676591295526197488220387594868994952616497939968961771412563003319047228697243861415950931731969517298372665629722208209568721991822708909610451298251273880381102568424489573738343616205182684011676558724710469070794122808321422617335903661052698946122021919194897819315097644244968714444592550397527707969751481815350729735820528507921978484689364573581183290070655358747823078390016105748620775101612376790129050154943621251585023872095280221127147207645865261482171471191248762921715167489088165956380809523469688948982892758010883670562797973540740477832546043648712074088415525798829636833743312587293240240222310901060988002249242500458291725568855138302230387195247443508539572966444189767647390046769690366141768418577853041386996561686153015929760583121768116593260924204946371354505508210761516219147610901804534414532578829581046479053167982877277981625866979818485571110655032858105551059040950107889629915210278378971402926616287479237703070081945892464636197334379615226767166309308650152789141938306843228413428772316390187315467401347978221830766654528780359878139843340589959149740563225288129955977030671264319726670887689696722731425867292206144676175932298008690735083176160145094429522829077593427887808364475232881905242789143090130841081336966937137261819336058197265692581807504893865943582939881988627465440226760546893561756650231487127673740849696791523275609698400227884114632273810943778349319718822064310971258208869199950406980219863004848637667758828411630798957350061260940685656477550817751588417674360145481759298590395877913695397229482212216224997832741990144611010292573207049177430577040047513092809884650289061882660806374408307876897526106623539677931434110923035690832502615601602981719801393964137206016769957274301956847366655252362053502202231643781688902765459964579622968878233869013374956278726516931768061364910510628299706517518003506936958851660486855838605608397782276756734504332246273089414053010167613780656593366345587017760516382527350370441826822889941783664870024925050637868988570479259769301065859390722473289135869819151877930116248821190137604799082900863642026993630486457333480659896759104904415012868387139825930489697946934674339294355497035668588791029049926389228329596093881693971715495092959919385006132793974051080656080964623907033889206197998041231520578661635682220091620892009038186561299841963001997280108879326853027855768117404728057128053489220544832539163983469001501809777918041967339690282604951797211502785414026782889848968463529080385960241192458278240676174812225889833897673213223986648969905965365129759155952164171474758499864290716539395587207010201723920870652550165769067557014435811139471492272849631579585608145245947708576115814327666977847924774007563905557917628458550516892786835575334804067796608731003231872362574974869421177278366062362083875702664554988367160489206077966570519651099972736243335696726799125714880122611180751484384554838929544099293145150632813516058691586212393940096222217655376751755529163261805286019454681622946335033619828324172556720782663458679270363572892263516700528075026733639688244955048168369869906816740996508533258598384002091155657068613830830517858501204700834734185181601800083268524171773602289420293753612332138443524690225419919747038759013692368157554058128532904853139745279337576225443522602033099983252440661088160177412063634599946409336579453934987143763744432974222402797393139592215340703328096717258012919674746661177767441091678653841966316180077113454631856287294313969781174938970656702498217198005260718422375207316308782366957583304375138335622028934507340745884141807286763733739583427307698496377088253670804280214440122424532625301202143219248087634761242877419780409703249123953375763284833571705723409950022217020125147315136425644450785750173851394643130415101516546698118528289114353443375155864060286388609566120391147762339305200290596746113679723365884106056340031767195346074867411886310937720356345807140743019971788674188949585209998381457517643412686952111610140584739041552466735230920134261905437677160357964135419187114251895057176926804461034548596870332444239788091286540343770134893310671844022021587459949124618832798257065063263270147317811766208738201518933559779744503054857341032668488288130606132440592448207754154240378444442178186202834227479593982890923831886423253750725237507883874100623134357992383237663351843334105173819999761560884460761594829230241503374274095810222429372482884288624421198636334136915998321420542552829923137813363609667971482709190907824445606502308220893281105012990260397257935402409968493998754302757535711070349515150128120185395809291205018627461502981827800222488777835459094457312586193000243082994841423897419316266964688225865062670203003777280571905192171304399025304661770052957225523677198122813035500659895546342395217012824258453947357975859406171242860095390982923539705233054450784489308255242420303569987880457558286240705639524465616636722673792577667079028454333018373406122575574691891523806095893338808976432671829101307801159686941608005130200835274547351752346756482096105545689480677350831787907712122234890229024594750873528263873904508433826043758585969069419930794353797705864333714323002337054772380292967723951419866719275861772112602910703369795241717002360464536419595554903287502140839412043437525219273651108895734993168385581670058851486941827103605730142389974569990563667815291804240080969815124027341682271364649983583088313978615572025248536430260720502736420245751336581228075231406937040589246312698120157259127459865609628751351801462616109778896470541871139432704474250296523113204983172342157334307461020721650669701209348579448290299302062600553473026361093025752773715568294686116591682992136916260578634230514510126441714841160685350974944376641773833553231006692565543800411930278755436902762357293616964417047661814045888737061677727688686125322202291211085014113398435799265547539802393482393135085729184591916535666181677485487553139421864899789628217634167361068673254056570644855124024449429222978597341893344122162722830093924385840518795502544042396281336096629791353686855984903928565568306487885693118736552526344077091017216253582136092327156098034143516412427169783988306639817558153653295057092462340482218221877053715541321011505139269372280589998949735176104905819857900653627466197989364009916033325332938093194248008378375843202194610502256766726221565509443138829723215104168526134314233263943452840848796922227094330260651063473973258467833934402447634400200665396381569982702571212052020055955481757737700625430608257440032982435071409288241478413151082798641712416395011623238910123752596894997113926329794763633141145475795503499044509697995677841376803045021006895697779474333967924563860436943190289741242788677246010138376097802372838414838497668039184247999228390189651209726857587799523800181232738082009471355764157758030384536181587405757421602165180466940839860900168455533652281084423786593928961565558116343365141944033478122292562567851059521361745660122432618764961672181157962704975854137968583145524943322974597422037584648776905278861543090517054121228106477617026010035619111652310223266360319681882707603150549517835760026435415222007949756219547065343548497520447524866475314066668057144517516999445147980399727654656306823482623490269436326754805607867321826250758253569868804655370695424569317941929586967974343101575603840748219876976979238318993670671446326493629616016161650012085572389887706961191193770091967264225791507511594459595537015161751142894201277570854681181353296733540989661499122906658308137653788463539792296743643564744633686892175430707957106868642190495829749043066075294395367359028210670297382871136109939983658936643058440538747161994279980628170297702513436581510403719904476604125426050174698289155120099151467293552999287002125125296060289780073898013181195118667650182446855119078703172564198787837010510696956492960178355993917857713891596778163018422332271643762693993851538542440938085910127523148826629699640871074233039778925651857423928016491800813929562026038407214012022561887146133372751880664129804088417145293709025704417871131137727392555889386023271128288506971991797353472548467335444067190561682060962163900579345321239578172012540046233393608224064065653181020084645736574338969018693096900463623150894265922049248027837448555103325464607333980014654015938513837195963921382072521479658309291104134522941745008397595841892721135164031886640955643284994971329333591383223051853758598286407771874478452522783370374478448705564778032675626190222851479888006708780688646611596815089643822793440875893333031841635575290134125373701189474854903138203021340130370115014716049090889074519475145653725582702712616871230479418286147781299945863573074073822691829193549523010990039773571503569083897264993269875888738218979833967746998800757382879408472749315347615749897588520785733431130457390542923109013901818568712078437390316009026746581533524080019502618624981312684493410566860094749292907570969224539320253218151384991476248751143882041181364618145965950299109368145746505125505604845800326563784774542601579259964852238943068931162494377465007813719030171532360131389589636596767911306139872019981885110468562238454046804295401365252753730343898499363661487242447386405920634709043194808101452059582845839735727737805954514506983601152197804465009472544379736405672434071788664102818558025162237575202669318440794020167043525813798871668787257660153290932264409253085829301617045903548117362355216095131604131397061647972182193149594019409955837555793282418683185057990517310555971034791181839569690301003981408928314466161891053533881508543715395864170673163725430229558433037620065776770756278252818290217659998855456548232588315688498589677896675141416562787631685310417952022959342651079411636454793366403706614793191914324778087262129797429975199619998400046837422932548963620680770702102137148687727621122230917267686509714166213069381029325106227044379419509929501369221011981444161265901586448798019338676600742745862624926935505057908776497600211494158034345129404785046870358407020166807445246034913731879504797492763129669670566747409774517030194534397739494652476885304583821207746847661717513779829362576878314720262439045714541083175040501234751805638852377371318114127300032136661023946709320828439833682621683475730021542579464924264643873806705208095177062768795453093309792742321631642329089358653819408944375758037930638237671847530176931957446877585396504008300411210322555737934113308545725613594931594543838146391739219105994507574381525879260617035931176812683907287058617192744414489080698644442782407984491518843730981346325054369930843423500558772593038148870751894036675097858293645388599606987244496719590926356680053768105048704942705204424169826878138421351258519276189142820808489825828232782616905647431049549829453045847244279824649178994074157935470446415136647404663795253663408348807966603236762389247866435405503095274396132618106500923595059520686866943130186701121030134372260033661540846054035134145442053832984925856943958274324221820077743183082982255459671430339813521058756126841958760552688014099232600309582683261498367968505418410888598344173341415916743776075620757196339010276735985668355031266558364026563383729894200999023765223818866207350530290826356999746183207252845401388977307371055420060013321188394356120859168058162896182011177176857729018010378211002005868204013039045883219329838639397776400795011596750568701312201143559136667332373307570655296743203722826706975652221680116743556064419039363117453600435973148719878003468942804837649066930808529585761450441247281837338915994302651471027275118591987441583667498797012368771949216183103793886366328987366760910029054884351499975512507587808840209882393735926806554817956133987069646194801002758240452519356362875562806848988232427717677397176618800116369990670636092479350266694751539115217824956277545885883960503109711597474866523529580811380692021343837212379232409581855167216060552617448503814937080675344667863545027862441143048677062594761600499079745062529713190730914995674092344604127572344202130791111990806548798449684139257366073820031458416298124845197605550143753974108387190942645186740964934775084135380512046824552957950783658423447887338818132410908704131658467628100223529316718391157314235490527778994813068373279379683386743004529295884899236040707603655824886069056420848189941519834247788248573923278652138840833421207768345106042339582063339841141198009201104443180696856681109988276222413944573483689030159402949833312402390577082816795736587457771059733680741062326607673731847533278275549119840686773731068109092057160003973195041749390048121902498086876435859956924221807616266940380128745959370889387249579966304732209192149503359638222295408435783166845849329340454256200384970632062099684737397466654318114736949915747169379659245769043732792048540743546893659223637048250712190613237185639616727925151195022100291123785040775715235474148250562539509201483369079009580798305909993177353222994680170369482125619099483846779542557221902025332641789642798786119628423497378694975233771583599941713602490940000461227019343157485927521331674983276073580390437868660396072724230752220420090711133581069704512065894883587515771052013878071863785917878888612941806966604171926235153592373689136605854333820700419057879521701655097852873435692921377844005498999885222366150261925472338156660758908509081152902961058317679556753671361690108847409417301682670212639397581247679367877386743368306177444914895144915326830800682294813578573285720395527332538019569717456477289218074311823214542409620595663708256277357725626566130684074219536199752994191058074627023014107232949339425330821622608577694681962779727877457343651771704735071519401358853855772195422700425446659105964826321955779815190681140915790346286896031266629985589052068687567280053857191802660465895785531902988500559208569023768546008001921183728920360887077309187324575968132172367073282337565276313739305618278804275710131041300036723466713415621346218212591044891412668979753302702419719932061862000377848786872636545851351611665175299119522481786731564931997686648798156522203627516687747161261557414983112936988015122125810680908678548195501830104364757271415819875640371203839830443048525310545049461964109273456196069207071497661128545004734093057828367896911303264973178990081558336089530800700660892029794492977569150043252392792330305443093863188928862670242888813094425016923323174053024153515963085278552293427990612844234666214603614364795797979264057260538148821762899659823481350400179166276036449258114914165546693077168778612008967985997486468074836663985124194658355034131890528892441817294392248025364098321550694067630440592212379460373271658927887074212797973304613587128428667665995668347374901949654944396415345744861109943925186168965051981991228390017402680182338677507011315820966294453637928514819172088756903823971963577736506480236819913764918696345786547354876430964873805681254531915607649403695860074541180068165776094283082021107902150594156155250872352521928598587018133687488398525034505069704312203423119746029687906058408580118292166822384142713381143256229390882407997627081273300708930513800708320702392822261994280514218879209509480127380989589113977936238213080848029678996076419667070476838399093100295747882357690640612218652082330627070302313882293046571104093854950276704688604021122899231982899600817022774714245492769513655114095135075936689145602428266292124919704214298756895078173194140916986928016498698997733444441384544761834102929826239375406846551030597416254506916263520392478882759343331883081767854143458958625771283073373594438124123516661167617362823307449451871014468251471884740828830825903217179578781518881257193552052948251582153583091297961320144908352437036309335349955745477972363886502229079531513090155720442378794544204587588694991591625999544388566170508702028561088743358654964278085383410911393386658749847020999124636086530948170696793535659666128547290053382948403209755594719361148465776378939314994016618134473755766997624264510177061682077861999072796375259984244044046078122210952914850963570138487985674827219105994648279207394362740645284622487959149246122570250653622173803973064942559716523723872682571191045280303307855966241792198158287299471144133696602526098743686903088337472074942009994100000458285780559642719255371038260307114555778033979615555454411010080509013242180175620512225119025338752744882587034267963740411530032294427912445214766389799633369924666147530606855247600156482101140252667491579228907928166287973785774903313556523291643637927543472354510696448098891691588805343284510308729375465842160378781043422464665184386560661888495153548883242549298786527777697409588347349665459797822524173907262522109983796443864911303248054149594670904068598871797859601774881592802961874075299440447992371258929267010205507821990746195191205916083486196408228830642314476874992547570876944049090541481084584491642761533975171683522719326991858050241855239199196850053758009556893739912674199223814558589715879925372751856260066479470506030691332038295609637896769585385813083011442131990691412365500897537337327625302998035465582305375847339011013610723614751737268439406235288650276528283599728686342086875476501815165712555313630696428326867539971104076208341266591048595987042515134437050922408818011896062573821235524545841027747856217197837746479300189965678626861361496482620828868777871612390546924577811735016188346238359046227464096469085025880012241546760023921475065178635856464135388738258853200065486752585795821430740129293868672628573284313697105130518787431281821716648720880625563401030959406963858046564751593524003094687997427636862538533411944696789023713807761245623322216362394024525870361535041600633112516062351946559254285112396418623396713983626607147151606101033575909813704615859293399139444632250323560833496611262541334785472394049294935718187701641639427322729098260450702401403465398436188534580801869698129988422181419458115257342318941533227262929049103040430039355759545160786855839051737908574862129791322883380996108437810123101521998655925070065998067732676006280830668758081644386298479641418337070924624676408783626184039436978602178295881030853234136445201037514295259364318618524239908130367599813211668999197181171873096816226782450598287279802204240012395590385113347325623682055298400688004773807128597607270131859964384470595506394038430225458073956518954237631508664542690204309218070468420253892574796132105234126504604555648215509971228220250861982100267838749338285873416060537824645105485236645877821031380134383163418100244904233555322334902971991823958112632104831406513744627026151444843394519695167033319574844437800237700012267279174070176576869579906821888815755269838180067481605779862183122647062260362928240113041735011301746484063556621072721409809157564923586180965870828541195288201398563722737932661446471759294386422908365164774292334011586752093598727758513391963574137181204808376587990784872824382186988527785899279752268684328709417243029366766049453361832807722303075829478473731243265453403227083434762400584438618905359388234278837678650445822390055644009074870630849994378844031691522266522650207384209875635634323515892756756751572292315449787342900191931804400769668634353302567422649700229720752542094305194778839961211006990193731208200515422907348660376007069838818764080588940138418648930395706025146280559464701593571797344956410160487566185669892668272049956261923077895073560230525497743928336156849541329340447466622818830395355741649201908351919157080436937240576010207649553041630578314057880699181993784959735053469718866034257524021675800945695957124491415516738891533307207929643943028902849914785908043484495518652156977238981331772848928595535561432027483660011849250905278338325596949156186069103121751368523523567016330252208339873445449834083920159603188561792154424270703719665834569400653466425047577128489164656367895357324558425310720750392657142621076300604175013573651381212431584691836727616835825657244071514072900892944137560488139700951773338182167918388837712813387276805903371118971655240108950034763126048911498124128804951048689351905860971645077268212551950928513396806373160278574525177000067396869331359071250306574731248239081139230160683625616003270059250285404202916916964059349758218361273777742073421677817027195415733052062780951970995817765817823937410357610846909034950560421966586033397157659207663479093329310563609637429648456401656332930208618559654098615566673634411760061998399374207590823352853903098265139289531035710467980781643948807319760600963869973836162406747854737531832986855890516453499176847855612953506638631170849404948860231825338864427831827263447199058884254033153735669006171946554246016501295010976961033110612640196601916998822998004664165933516416467783189544703290427641966252149195946703139419102611296624029667072457735168781026670433247108872561921968637625800932165754079560811983560676745439241318575211450557366500099411452939678908948743987259095821956649245610138971377518487023204298727068227356938437700444475485729763272495043450075422752544680953117105988281456044785650241913856972754271475618678576275292165446131330549971253548258948072525685113535717520266128229994484213645726740961918240294803861392397325005387927896799588738280631356688008182291855075259624739242976097120870619449616506560870121128723982743962545774301920142931839735430844476047103629883455068001454680561321787977713623295242094721999749852587486232235461704077168264997196109614071436273842462295658363008642033741137959022675803158262271002588000793286001584125686896199775247210822975736323217565705371904242028479569380212978959161336580217050457983049869584296004925001748243099910553772840927474964905457836767083482953622781115191344855398003258171666699892848086174119956997555150823926921256328216199059835129939935921451920084402170226394517551056867805996297050217957771759603510356059788560665992574397850762828884376338342649010682618099910720525651596376977122487174599002754310055118013583549837572024805207163795042477755695740680762510076555072238294256961894198157102313756388348029856888744609697744999883333129008977402521293664606601779500319535890059715767521584024501271298746166338737134662064473964464483165142127419729496581219350700730977697045462276832507001929500510550846020747347087593598193477191884562949365296911321150875685113226873627677234505450263253616651403406315647983689332393693811606003915818645940253039073833721594850747124235665847218643102226384517639366508735361183285426165814628229708839920391529020987344643129710523573782333239811776700292753517131183676719332557282692106918854508730892309830190680531831135959578839873714032717976074000960996657209107992055868684953494494844403194766459039700956500001054465735321593210507833061750094364782432008484303420688748502111055477297054606580380477941637335882463817671889647154434013895367111925386636311680717835420505662049213026494997213445378702512771251452464402054404049081156886263603575176085947987677019107122622046359246013783767090359327998648605549889838221104577358158176844942513012934597161542172304986353524550242758743783700276347613485673701507838207554597476562964278264720470412657067805042836277741900199079042647168763467859271282700356751547305398533195837269264038917762893412064676658147109907078441350827928311343561261641778747394606264822774040116256749046980351605614543778474519937755205822606229944437588679403649394875080283787710038923013654424873304991355308535376515002412511968994119937485227800613661631000724929902403735855802805394398327222027910085017688367723945358950156782483389560520191885096670681036673011100561349030796952938943150552454884260600044300750282333483952163317153601250263994921267339493758132597169814701425257517746513074325610416205129779735584613555751629513563315218552209637693506675141411310122197504599959392626344966522680121579081750166144318397198805762765324930595123434686706366127389467710301490407302245002873387518700419961475646306307158650652786612194375227284876227939402519208859713331781884308408476681602859590465065157117109203966893515030999369876388178221619177969404708963193509342404526928915277992303477659270409169461988512151779029765408603137753258008152253393149422235217737924587778013626545097623431106444760186554049521878251262527256937182980427821788251478749387399748270052116531679327087012332220918874698427173341567604936654407854367794147360762875803339297986435319344917660156876054746770174098632478682433585431184332080707462040980783961542014324539781513015415428245568573575986414786637365787754540498950694601657296505773246376137747823600526327125054731679293685903504202298992458278333758748314567126829551183852568120160287877517252130738335372412640008798585567170320641856100505308399239285420048166632296932061742341882265538161250752177894804049343252238050380523900594702770801990300313954362490040684156868284497929511556693977158249630278301733700973328780706526901468918774478683627122630849221899241231855237141509663475040135229912755210866321723514489612815828675082690798762182265901269394816652391946610030365018529013644651653935041891837724231210071573772666730138880531039004536871135947579231161241614817867612013479501306282649363115022669681397270580626791888705872720791441861095336498802556642199030758796528054939332921339919513821808407337928082249627330350075964017373972365943062937097917361355994448609857869322123354982297537188001979078716637676579635618078231929733238145133533128640890138362365847462562524823290528703424791792177905135672897433851718574090809270398591716036652687786891114062188823779380735838293566912666047852785809229342494048686193133161930547115979367068759264673833451312255966885174346578616304915865544191538306829987770034451196639363876497201261285942518547227922278439926547156836981116710456906047994183491528090339238877340098724827751234788473682624438750968843090304368917888724172989238350939472177796546465847747802988191435943490895369727243828789197490339716513431474091802292124035835659247265882923489832247951555862556046872971701569371569038026289974494885028483313135798643335993149877775465715317172454364858679610265398342502476302833784290280416475828884010262751134955201446415368508879853359936201322290374880586946435916958788625210132307372084823409194947018765957192200729472768560437084030544039949973831192819993215320932715898491063221532546201639460534350359533885240080299172911541283788562010979762545624779211409328511640506159882853153355547995944680514044057981230139114032238023574112988104498735361309962832310636449026256582190344945295962434024856579545558476589962925752456619295849134133029859076081424217175813970830310288423425422407158228355609112550165457491324287215761985746040212439935043065610477152008644986062463597577647605994593787740317819418592951119405974755185002508569807027237189708040085352649862524725101797334859215640958918720558464788727496952632956714004912824168670998455275197228975004754242570368652531039979408788097693341140328910384674582230986987575943054496546892171179301706979077899679275020652197420635766039446978088251417998640261064527283903257793860338476638017572759780780781870769906821102420202890479956505042827187574919839239480624719671934148295549108463526286400544544352319421412915083567347593732351505953088443207790770041150129964929809815293095909957117931140364285427629238172860211668328220625381348911867570390596543004219361976273584317810990148587020018467271654193304374671509572408103415667427977006468857142868987235425134622905203293556843558926257068651220211722702819557324614397845588235231720681526466238307942282282617180601481313596058823092483301869629546703581701865053320447914141187467776410628395263770001466258882002670735492194842380759802131413227036290428855856417325407635404746514529747053385205142534450697109587665364052482377014038104413970780782407220457039659618045665975817622545007752245931862897956825991563297970757721737136783177278562709579584314361943417832985224834451071704967008241335292948614124035057853677436623953061423082365740322884394810046682297719324742376562305405503831827910051828883064827641631893792807522481699834342123725069934705774642654968745155514356430819686400302997467141270124722410017763809061376285581390417655235701156871796497605174964500348284678128251429503843447345363904193062638921188372605589177513614642640720943306456015127509854176189455532064955647463586457239238508197302734741142486844920891276057695454610245952382846943759108085553463876144197864787288005679788105214807511525119227578257958167199941047375547047580353491105898724001629517392904014193266980520899115128343087328779226218452241136940974309161583928494272788994228949743321656573953209152967184415289414394370267607691466256065887918838248183057067466308722908030318930627370255510384448457984830513149342109469146156701235992302303366354939194029888571875746318281351009542923300385624397975077561039242146581159628502144464621649663726477830801242169996389077148306938134550424405522605167395503358942756919197786626423887539446969841872194776832206507815262966662722565228957601509919121672125019585857067092205170712079279522131311907928896934859908570067070079981327418205335310539821659509404251186125100677211181486145072960812211425128056119637360693331033683025230611984374956812275641190746282684619646534811596907843329175705956310294305306126773696619964611901900926839471888410867156479423987778574100468778704543579400825461332011381121786546660570655090141222406474669161284511410453970033090675576132418089906516291561305119270052831807039166439812164034435970039574355613143294224677995602910654782532965167335958868915005893451562424589870710746266852495972998889967495985407550095342377485860068256500215312017967165562513410425885382274119232014532289377543298282296321364068383881434571804094762196203714118030316877678993268384191610666797134752486394379141061376238038863777380708310220685011293679132053513790963246606142114990242605013711650014190839786842036071203751635865645628440239438439588395311188632674714952726594149232743585245492709769362057342102115275032555429118799834307405414531742392141111453236107834358551416328018309046074610097909107351127870871150638093714948701861200227345538876902010723512510389966135714110519727656705623374683931448651440333917002601244606765408257888517673587193126718945133763371307385172923800663661873706653545229157180395451739056468705339427365459439818697068272467999672907496913250412484664772474661160457773514469816567531501593603336714523402655393484832628539558509075889345660680753556912990103335818723750449991073691153847373530059889624667738856681393527658867513907577055873773793684287332585506544272661604908454444263405059894573710476443871562071731536406852657908220879197194519099784373666094248670821653388026034776927919928892645763352367067496914159038451988292489063382828517766268043367530135261953218986236353379241293266960317066938275096519151738516657720701591443870882163562592833195381230724306305375401248978614046649626295810545515223802406173039537217717253520835225333165182516456362861346353529185367532008782168258943085740125897153149009154510787279260457151558639438307083833775976533448349902071989548023968344502845703860009818381923409604788747195368293505874805192764774780744727485022937133289253279458259101821370320774104207686929446832365486469197987850637092800755084185824592811458591824632992296932749500295723106976012927759690880126847363981902757905071794570299332716308459763149728592964756380086420743547972643977231844221724732708255612043968481856710441279240279108741181140285475373554863392669038451218167432462977782858514655748355333896439939190908872786383188424444363485745356012192246061877105490672977432229384342555162116521150740860978107808331235314073897616684624131011371189700277468269408996689786516139736614116627955719605776212110959417310911636206915421891562140977959881052646136411176056805781372662911714321197495163854303821159250094901768373639474124388837232360622180329667749557980722579031528895307322493864572508933238600918441312887086440104344818220142895492862822072786991152168523210626507791003758078670386573320299945136535036561264294954413991330670173917809829534901416523832907889866548780750569018848831514293707467368584166462838797833039137857467455907181040314873828897825216396017466868709986781417140395890846679023958261747884286215887877818496652254008930734300044580225875287374270571344791455098454305584262883960750180596653113204093656571919963186018208262980411023002666293873226584579445003697108698430087164335191594038247519274546138452567143725836618434315908280393991741315326061014992890844998879723654343436878543362067870140830329134490901747938649170015681643859835911632946563589562992119203380482037074254103616272481329797411293754430605010842234850498546589402839230394209403749669042068288437932715171338551728785266903048396131063917424439421656176130360343304755186639388034115783004253566921602015469130390231631148649075933110599779360359847364777302724894320964411526813987419558782352830590752148587804621872260755898510171529260482454881751482720701391339206526141879259018870142681092224986637872047615567398970843388760947800159531193670044773039198607004543417084052288624556696133574050596396741939534739205735159243042875351925322755205782870293194087814230198604886200449784825779389692453230311004226843023902312170889056517769620203713986789932071546883786662995407789050084962157236179422144810856937311737259603369722220787253137300404186899053099069789138069609120051905420078039391304994752095521862663941605042563081756676676731597776145903203741551517720126276218000568151452857180024870896645682947459850543596878145687968857091759682924591016349562929822738173893544428572506237448209082966669854849366217353938428427812433971742753309220040578430761307832580945522940849596273387746720673146662461497100692621210220631643519359585378325212833296123186177342811303055434025597741351446438116234246696776863401217834066225220060489128162909639354506592267516670706443520971145062477807962047864883049165886086423412082730869314755946486525903586008775228093303576626310530630371222124120263538908840656568502673357252343333661747870004355251365007277642538021537801095988283760065855290508172742589835520486464318697710885955593647613507437238209952351404109784129365482588809421078816733007348028270291830392530133321069928338512346257910187810207408681557680259037903142361375702858652488417258790541830583569667743701445462092837739123424745024762793028474785087361591523484826357449935872100072113977186601487306863779292244910144658266559964118911199516708422074911728552685531445123506849576487367886751487623959526542939353944956200332602287588831477347335737785187605266709546148887812656859304916483620724271155134276271565806833690226132748083380039500844139845880215742877890726093033898385018248576104516673000835287630077920009667903035590970689411328563352612049950260602380301855635825816750584414953388442368332140730561876751905834718856655864674468736282289776473166522033852876277606691228246834544797659501092890581330806125257609434706426847491699708677374700102053782889283894929420634503186216386171089744295613190984850657855765978040148255225394879792012805136191749182956333276468725718527744087545854728107410300613742915766510523651716889825174943941111130864914830411579712798240503877514780511638175179384627070442641628142044049896421588607761783513231533884799029543996590642217166298534904029265097363372231400652348834809505947552694047562163185350330931793735246940367548431780026420756887709387093087657183250253881125566908098579426843079138806602846613125500204406787171709558744456111305194559847054918288862751022804301685539101819327501631127696756387349421369917990633878780562112999080389395506969049390678940805633808385159065477934388226357505285121507987258031852159772462682809782020799531948793331920681083898719164044454701165058165662279564263878118985855401577999949304972369929518752009534754622760451455993165894157425058051731993820272913527057384076918793880621035574305641228735768219072821169558664583777318630255532004391566004862151545075618458352078011692575760424344950544924449249375181142235877378628852570526293836653834589154391890257551170513962266010412080127074455098954674964790909041115450406451416608893388610713000138059359220064326013024283337201867836947266214252041436488435269571203232422402379433124392819876783845021847634688252226558603268247012133466510133119668559565981394230293504261687255434502978092767593937711146989364103478064960703994857060201792904991027312504584374457724170713339064703295288981511769473040071806149688247916050072001248672084791806887143731876866332023067499289288954456684302005872226934462742600979243032048775682768548788428290618649383282101202070294763546378545970193807903329991883858003469296408303078026342506972057449362000985472132098961642874795236918911673650100628271691650653166125572162507594633294250290513945504257056477671265387086916206250058807434182664297737077516832418951155541503127130362702227062684426212243315080051196238814548144663552544281175258341055313759800680204779002595949632165658612304069884216091544037047876893764485276033584496012895552545862657990901226377612176647603621507689932914939477753759082726293270860826891126424252940487811859751365504891722577225434965159154115280185269832155929165882715547274717429266869896740645274566658040666465262611974211192883856575740355358617338299578223302535303419310492237932978301743030515395243240126539863127071402075120947567742455376736541973121756962138355559062977676234201645372269117031654481874940624168758311417681355874009914558635827760611418801044334505004443951690698537913152552036264442501500134278798363660373388862552662058529180654452214760431110380759091722233129554295120431108080045078574369282941097062270694034496741345789322036171737668227884133178492415154231235457749252349888359515909186883822876491753407703985985659670181186240920160586884609252056957084993644412303905166126996437911804294133656657764329058867200398808394323248891340842488874834006752128990892753428780677693074912455779928233122951300180649476693075246664778628601530765585820842075457467785891806565221265025995483309706370598435230102413326128821014943859399848657238798752282734421447854341972516489801431772528786903348208667429790195411305030520888635495581418766316472017384328920250784158184410681705994022527839148173219119857853731618670730753319892283205327934276496424028570369548639518323674256736588238022585601017207267584775044749630035372387956128459932517777957861896443460025844531218706877737094255836946480665004024826224396585456265697018306426713105293544742229058653066024384239694093286193396297637495491259165130799036091397071776595186022740685165689800297963894565073231802507966510329325925961981427402245376370476801608242140468157630151037346494058646332234642770665406890578797683831731632396072764893814013630646960209584568213805237190052401725275735122938038698690635734755659040780496544886042718713966182410316208046318280924773885737311115803730586339713975863336247942005170732533304273692114176772612896061376211952403216599707971367428530390693314899989503767799750957417574294695496090731549793891581537610088170245823660259682601950939986870466396203134402260110303562437848621702266199803769733033907442203147525667185216564987603351714490982872080818778617558706858620538235415824871649031449442589727420645126718239262063747613030430799396640904908294944730207273680882376619173093148940683970473121899237345468729584873426908700701489346640635405897271587011266512535941622272578668692835221258193818242598690779876375429585886150619046559563906846216315494428334079593613139988289917035334968013320473863386701105623132098215506410662192448039204515146302010680488679795431747938968424449107017947885050571539520107990820960899394092039695155086830704441552338691838189656695898232148443004247366379308421423417048643240252220206376838724306699556895122975210680446740890826541891498031581382430264093789601669680608923892200327521749367084660530947504840181347112315074108802105825664056005004191666743934881186564052394274312009728803932813889241469584282166908239486459590596262109756618443504295313689089247369053579974996881526092069865035449755508689025377242561262948894593299124527627081951448384648231256317878358457035454665634386466970312389133711335294703893116706326193975436690088653938235867087774210004795173947960421451203205991364971957062947173033487623400067928864658154449694299363754082018717629124300292186144164722515370576170314407524871692011674069128095376750698825293877959201006574810043824951701047394702273021854159524007458115894282979833227810016702202413979097811653446359815344517628675450950610248999524512637017366366303371339167648429575115068462192328063430538939185869976082194420523171734827341058199142779322462898730147335269543622925145340268449532690597407060470838593489913070361252289795044225332567281665554591525578181809508075675472154303291941304044246651999059945766034440225060070687015511460188859067908476722059386535889051795693557833444058299113759741526441761274464441640181270084283654139139203675692292141168400421940834038926603731608849162931340929051642819699071818739307768335535767470545315559049199140285286113993681012929897828710955004675958785511907776594548260690049516215058793901843936463508913660135939083072597195081736534119930700806311447522284343546522908694249388639378600299699362935701641704937923715870299224694491001608922059516528376210003281293936151039762365782932250778521705497093036206997087222421423104337187272327127431830424677088452269017688669309739279331443690062428799779131769417989863216269142567184511511306866366326003492529601959816626461120082748361289974148250095153199485425132094944746940484622578717226475757934512068943476183168669101450169762921196282425524476549990241043328147404153745254427880795704472246416156159871111634266498703317461960147265878770659402976462059351935373101400784035088221795884687873250614920195217229626730295830454180143847232814552650423074159896326435757955196441901887554422265708573112495239085717154898740454962392198270458210224307506942908810048303434345693291295778881395148924299057949525959633359534908375867995209266474929805275421983745340828394947660469914284029879586432018089555437654668393767609645306572785288935604014924856003891651499928773657165640553392433940549109377786637609084344950304352382794929446244158641664520959947812779116899261758123834383923457044002576017109149614842331139574026784738377282114351860175257676495648713654334324460777405943482967840191994712363203794127124633529327242475170188083463813310107984891349792657555170944255912448392965858567439636803974736520134961472633916452718154606245031677306153524682524565718840914726716708794950748109790305387551456661691802541588702178362999721571390271560287214966361228965417569517237940593893182025758290619447273642782602796267872643964433487105694196761992307496194038625339170882193261526205306942423189882122500560738982361387382514153491635106851520544518958391995494643893235164934209896507187724902313369929657019481032306201939670336264348023647987171267180665595416929517786803634314416566811422619768194853399419471703275710993563895940887395149707056323425536500683849917629040518001789949394350448908304226006399222551796601814611261837512630502828814521700695731172566488047112648605646076781657661466230297033043596965235130499534866626789944169479406461676701862611345116999056774495062826098691607572842973086108959107709488248293524636382883447593674391338095499363355243053879477439751124411877749393943468923761628802078432597626457245634568334385086648556041312753669272286338920189106290247215789521966431154785903883477496082614447414562250600729076548604383494052056349543186526009725475315959113523521727435199103567196397422222323570347330273667854342732005706919105345071731104442889825714610231998799544381421106789344261049238796836657007799372250686361695838094168261487556832596581675355821484207238693750684452828477697706964182367360916076818270046116043045116388051602642842755022737897387860311868433279864701515951362739152575238650456679740724926085797364105964017105415374187221755623001690293904644156407885865120316387225095297276388543669818545156057006493216885845442939238559675594836357104964059863328247433344694098290370373000249281300417767095290860880742493735023939996753949223049794617112334993686428151960013410145358406096315685258432834374594165508301112763321127073802465789731196563013002691936228780409071601941798849755031938833133139335828455228949411919246195171551354085515941810469187159408802770568899148002255252054636259385256917394953581528855947036611669856152586543799951893702945000201511487277969193629628444190834303627006382953880874550421245479448825417054722713137505205989662128376435477767665048269887411508299317254948757051312961127332382330696378989108648927988004238493906836267195474073882949136642892194643340040722569246069098807047364813069999958113189615645107642732460310594855555289498611614486795705092259683127336406337034125685829354652554729590298280938901568558375153050188449766534026383306202866785410681280336550313904956488415380047046560120686462396284106401437846153779711316699400626425687548023989587562357933201198644444400452538527139143197658317821648824474264014195516487951835181987647201880077808550779483024875898322887093990362954127956513354255485605766092670661245784879576468961202029332536368683346969176691738923965523643612442809835693353084685096061455311962456911425401477982563702284173223940630093360905344777694818122308413627278649683305122697206345662581168017664153635976018279101537959641006566160997621560348947101347406018598345217020064003496129354727927448008188696853516895276487957459363143248976933346228074239613373673601923538894569289416409070203737491956382495598625052619246377558965327547153552838509736931885340396472226767517721646735073696561460870512663049780890893407017873404302561609431208844930663995032421281910128114551905440209243909000516376733781079347325676404689076560337219253413777205881696781803259521286959099010242883129864455474305153605450379397442728732254774390622410337799830427587826288147882544623618732658533066747381020833130956697176750176903860173179154732341202687387887804323987918166978812026527465596757744295192174951309557376430063825691431596196921772650442050558457634992245753057282472378499201524992908371244872243995424473232733049964413976050271104100462037051014489542135704895940236277648986903902793051140114395045933274226638495637050607519149359460018094849058014399808401299076479364748461327011245721091303092684336404705229342895755215701426484227039429826440595961175287249870451974145320529463339559930284565550523468754514051194881353626645660008921493098168620302542098262761368131658290751472161975970781678480430994743789445659557860466501479338166907637760573375145592371940925539043710167920963350166322129467950198632398638772268560650538849740263637496890968051574333412436238247821778927335122319863919210907398458967905717194207242683551638757341929543631694095254774021291422231855334294922421309786265524731534873273249413620863050119281654284766859394569459026102286535037174083001633415378126336340333357339344501825528494007558964328739163256000283472820872709160180937118859795061944805324365470854663989247099714203814074074378523963679801314745162639272712014698450187036777057312934618955040089631997475437802548246053056032028752746987525751398429251509163453889305630642498288701946811252381148686265031184328493157056095769928405410486962708747240014642774415087794179100834723784645134337304106716878232039505706711503852969325329070858109267460770928685770759396471486045943237954959087151345605812840549030035509002739654214306574572118568663111480749625415538996328711926793504417534333470794146855967089698949069667440565342430565203208176029955044427509101420813277129237227881534152988709504412315629986049250746606523113578050446633470063451336441002037124723090310857185108406578994727200436535808415161327807171584580836600685982014311440301739634800730941380153823660033716839889940968591441444407192593438566350669493166878891242663376035073728111281257123010380805695232166194869976132254980826922350270246851739660800984859600550037762721370775696051508569252576985916798007592513384738749291949933007355920015905027946383982016080414066370379780009698506032335323645337720469284361743717324631959286639946148906211110158568761120963218472399675557863068041728095643164166992915791693284462951734852614494713132087879885643909745538734393372449614397885605741020980916221136614276677054464225365900751529198727084279799513892558078359273573852126755200895504326508614782784990435391321948470337682458988647670905531864993820665361250723563409942757647485173238186221023496193911361828416186868888821884383862473394471421003347219601682167690904420737969525236597093462533637202575064054552705174759400125132255711328183891277724198009913953416251429956281444350421485091141545249065969376235943418956284368505416952610948356811609226149325670181396571522066014928037280567456705698038489977192832489141217377191486328191591419399004468676120529941865022059625271236906707848211684317690446046294554544042671595369587488262123853494410149902820990234090883456720094075218555412248383748727077481414683316372284638199001953994831945149494518336187676776368473208720143472810566130198153572544075774615374873526567850009175641854244733886274683604767319263798954106388953056062069324249807149320160736444380575988702552979007130135218789276134346152456738127755044072209205289808908180243539636503684790686853374230030909100098293522208681041221451753612718283664453636778499395178367079967548767005827277065265539214165783752310045334071358353270490087558855736860337444723799479818150291044963462548614309233764322697202242758775627706312787106545613548927603359728923976221989226879009639309068203391772547470886712777278400395769852728619297979832599994216221346298221028560538750530731907224347482343090300163738298107303624769003879567060844466028591790762722918441638592336393893631906113819077942231590926615656285096645976656116532223677759789811326622884795635470818327991011518812534958825782727423870675137690987995348797316099635214848915369446809495620123970901017722699926340939163307247710375945054587516719650034410182917580548944246484995286947111255281312890311031464057255714301935211115903197459110305754344977417660773447869171984775902059905831057595062865646575179429756651440244292381373740367863604262193338952578766699615670910280723207965513861953667423745050222253437990202737372697928189050272731991886599573116119320663456059593425538332357972477461731493303704312856884518351892052346593090556624021209841258123111504469036519385460875286956736755491165918819277036998559581269313991213544345803743499637182365455429344923259884022405114849420534591349735971412308435261673162528807023836359183259680456625551724707262542514662549621670582839004871324548457465544843895961471879833400370156702015676961471829413007074177481900935753303703326990935305322497168381009592948244105366810146521475234365962284682746953477026815525703183529563745625146907485374852552996056954578850457902025986180209845600089146120587487803396871642048912002100691153739942629531301366994863944761198911831275300943277586294642567339639285252846759888154433003659140365273599432965482297251866048966940838608287821144279793646423912632905191702516232838257936411882337512117228372001590177084589855008781964056117370931669768064749616438578369369018450081530062011988861978038570629300133538568423196637982148217722777653737881849483745739936373466045160659689988869892774656361779827656472141789444833574507348463869671102419069482805655131755760374902345864479810173225864423904968880850642727339002952953056505309938943644730165531355591883690012678591963167495788388296793744012864983327848631008775201424479853171788390763812530051709754372100699610173625138554141238288613802945439050707297927549251495172157196561442005609114641664919990661637571515645043479520624473921811722191133877348635024785567352132307727310132251062325853670949330757141793428867055746508017066024366696792532410307099992365449036841372443656827325781360798530219867426550568581039006748640009520018306364960421664549370560829468273550154937275652156538473345324588736824738760070190207628964110565967359209909468781974041961124325834075070235409581665636868765861221130900967658202665789794271984405007773377146543601013811724336637396147652586838842942692257189904495179984326346821200193225551269668518644638401339439866259875545096514615402872062348375338212103721874451426431985915994095216783184629836780766939743039568450354359588599402134241982879274362360715059288668049057892154411115797425215284680669830144260781573094917455999831473327818580250754049978186813739283513712423924430210905259613363602874187297564818172211843513595919836764159433795252500081360608176203492906831559248577145886352642914103812329398835839861736066558327875625415060650218308824361345660518244717784662683449027082826805184256569386623229174971955210273274561046923678417819962782487733412396070889999731493688226954568827124758553867696721239232939782122399131253904967674244622470861521766624861975773279561072610179311371598656969765502715753131764352068987124574486331163311977854802548970772247629227630733439126285950977204518427653365779469669959054363893788591128014578001448025358150421364013723767301313043861159342573346395774958541434527161538457210907136759676022543533004680886562062017730334119582634153215719685638121458855033340920307077458093240593984701762322798778685335348623531926643087786706067983291172531927070435666002991038119817186429503239643379729002695009182839106806973126486574953674195082025527313043269243522359072735337256527353326610151501549252920586001927108148916937477360829719928044475620727970883300293332955868413106701123297423320346908483194458289364737483833443311677261347109667075500053091634485513695238987598872864106154614454930120098266327666974585109632424793002154070015580464284800115513066610034930544119248882082506751246821629405764420630659526087936325137641110912424440472484290316994558311046657099478357383812543652003489987257374550439335817694760637115812086546052133821271181753473806016082091273465437742167720144894070047316399884242929762006665906510869893504719678943489671288624327266042913413257621448788212586905854541191455947374049086434291419083708669163048408017812281739520913756837765383350924367701632391149530302677963996016024567822780399572205479991750366339626272825243056843275114797242814756380768934214427174748572322498646017471802609571428918385680519282997400088142665466363063954495964862389475636891846305490390500552397515121190107253844267376170639804708426108621479619555519303705166389685820968413194356289615502582323073251798426661245522109807346059696353024453300580919028158087223960651023278971640773350654758677138297662858989638398562314240233790484054013096037125278264380993093773927755566494882223721999342968907934214582088107096913097304524329450368693968866303582499907184028972027405804517100836025223345702433602616509163784449133975366875131945296055117431819645748277676011976406637015739236636443216098557236340665123455037590406312760775136631738602308369429281670376989152714752142989169335004363906335341287327998998927294333023488703824456715543054704131892103950964337282946392259614117652752572401106475351008307852102572122089449269333204652256694367809538005447796802076001570771568238476343996909370670274572021175137306558856655979990042991314782704436816216527247059170174732307858115375001102035063725926380302903682288320726679579796415550918078836190851690014664894074389045793474769077016838709715600877801108462230697378935731931400455013133680620205806091732465663195246369717192016010311795583357536904506633170899533982162094415940772005223902822084803448977234932487486132622828351114113275710794642558387477073675961311630447998178004589414100924134047657848227084238076005130946522720161669828480943774962170140278568216270963318292877599106138892750143567072392969573654417013791972972553016741232184810824392095008252758872192840801401765583412322197942759724533351562437981097395750411687393375053781445992683045358296750126819850214265376615811960234290014287068951179308844416041640746874654026955768962715909573870785007570593501786566675720866592179022500676626471976985300387296919578806926271761603783391962916816639216255731597885648738670282795734447112734611648914040517657165421108775235950356064641715079642549057876989043791862732500773606203748613464649713305191169294424653260973119653196771545490598448174208825730220535097758113543409274056391641930737593802233799537895096068387692003689972728983017134236242691214323224572305227903948224712208027808847776557496070027294109979136980430381769036419794661426475412279897133908495500391307447437087839440032098104010875291776668128908607539489247883309066882848107194230736698917894123939262094162183359433312178608767895311800617889204198071816081924457742329272184877332950621120789032430070824345826756509364574230205668185292831369549956715948413541851825103088688775372579041771786542474536412049030170529978933632972879271377505937627663572542653324586151570108127473941883445925807347170814584957543577961187128190845223997981263346231935329100508576205548329417154199692412455940108291757225972769979683354129542224766951269455143822265962335749421777968307887168840531577326714219002811348698564672616869100058724958216423774597582169003236774127571782065038493089376972564356474685989078554083839371652676416284303436650772688589120316721081950223647273864920724343922694736554815601950862411091163368479604657716683160066994980711300651559184188023813927906120278190061329177788241804405420931276786436880780267683160442749741387659218651279693941600354892075354894810283406830143840314686148550153981864064585938480227115010168969388680728830022324072173592348093054546732470359411288965719990624309375577469065274921104576128084022820581564417614201160365916555298223918769499500739010793946466305250369387285546087609442449728993642240112826301366002723220608128508334760390818343184114301239460867597872598661759663905097519365643018390062178619325677940680435835319884256752467849553168180137375864942589143832094076501361369230436568176520630836330592301901400488905321082752781738095482511901653844504007321484358131907194569675005206128998689377947613239404517352964924726483038327643014530353445346051930872217101610001834360027771562314383189416044212915605964423967742497303616804914333243285065884309483629916077718348349649166348813853721077078992060165123189975618657463982259928038453424974214692138049578774212731369741057885745855282886054739341214985976373121671983039928870273143900709613777790234491468867621412025523600443649256439483481293831896112461153242759382327193529746458193711942945077895241167107136764993201488823121886542840397893598102067598770971442298411420818034214711657174307990686750862057445039685308829993249423282299130850486552381249006956965962762468038113604946677320565344321512534387425622425331473862778641954735242285138651457949309700044651756974382975420587320073167708964062079674875598475901058743082088091809423583800803745793439263587386535605060474060241732500258581749359476425941915960718931369503638723409382602858164983086801052610091290151698962896909665724368494518496921635449140735743762592381589513281842281870740679626329538059083167493810099834533917141750207717267145543168094836806586624085820184490004843823023327867642393159007691524952409889035735487967188868065853473126322253867088763390172421510279358595994490500483867449354753545034148647026501497432049305287846278446165147615680430511567458294079681675528135411319564636184492893472355184531694408902455181893322073273784647496643675865177057243515130341625963384645176450549994567117876162512780700681537219477457848137362393667572593419533257780146546837007017418312945257843362237975056874732582485541891670576299408472945636697488816005063828288316333086828739420216942473730951349557919440467906199861596008446103869493149476172998029736242238127963973752911850960883607372234022900633854810731527792582082348052230214750260242337118611041551985085861299682360014587308558630532965553498044855911192537214758134241045702827921916589932065137728742743552784667890616404592264870467218892433397239236815312372754849970312990410911606342949830483935549961066446744176333376974223196049054998746757619459787488872864816996975320479230092761942899129475378684565158990875218902939416944803227737153414664931001403258067694173293371942850053168677082304716579643262508531228298798942547167195583564705340274172537467249854394292962678759892086571059518998463281868593826472564928168924911654845793207514034380630164983542618027432656723233983737122833745034498783012850743495670142451888561087925559356569158570347883213986339150402707095356545277409145484216787268418165707559872197763136749506036562046275938337124385987536089900366872378864941655759248672843189335841303921615154013172508386460508723826894011466259982009102292117706316178746060014493832912213997394119681269657820131864502835774160362864287364057720287947651384349195327065894728287204702033772042629038379939265756945702922606189294832738433676531241851359280671902297359670441671372277974927959210880820444225634739839871337511134573503888837485216633416919084939052954420420939152996067242220980697965832585923667514504041902814053874026056813302218323997454168293178819224200816411888431601465076191579005864861577386176195845949045847348718287710996908229610360821517130344923560615963151046939820494410880003297305680921899873959462539198387743827392022914071806978698769600393637369244574300523964610660252017347020630089257996450936978742209781360597267758554155962490834836535559949477853849676554883158079192157191433683599124209121549921030230735108300827873444466988227548965765792261185095106377673976006393372448816481483031014440062478628050538136627547393666990198726152445578021100643571055209218325958008390488369161059619020701119162362158997783620412917772996518954860191764420118520518598100221464572389876986425026757901087290470540309523073964486374210431604206894931825722303613402498647152105931055048132301232710966438714412969445941345783115711517155270690819920384029044038778249657579310448941251688322237967391895254019929212814006206967471822365999809664172947959476168559134642535059605683433524959433193893701169440791686486799840251830781286360137025581967438386968893913203783766127927339802951842870426111139136403285956267375150030684492897411658938887763835303537918710483265148095818876083827284307162009536532208043069690799424899133206937772141194719568948837051936371888569087235973582430010636817207170659217281091565052163737244499415772676946687819337844372565961835526669758434495146287401261173864270826541037393120168539452603568039225847072815063367734907969206627699346950575537429993454026969009558478221835891605596186232822174030086471141568260685496413704609343265754267036847936239882076667288314952275483941032085926883376399556692572477167386238727089862189656003449587316998159749608524764696489882780447284523945841676732999326228653739478924679411710645519136146873961066947520071386064021826175173692746800542232731346248513172052625557020353341696394599977812048497558543192440713624612902608855347758026572486423448610260474404200619906312850010705534434627344705946229134890052097896161421829037113392463574189101801369168258294898268926397898916451863277064406202450635023654796860403633871066306023184119689416063103584961423883787409844061357127150796775641728417864575240434292683685931876527635327487143265371883404344183264392855102495890246163078939117971240345079848859578856829971840408091730535535591259024547529822781661065035268868730335464075806886474616077679684052705749031289284271731001212038395980505538193217880944641858500384880897117547147662161524438772014896891580329368491158626711146287993285198999569529896863052855435992372270963139749581841274701564619799867530725686482801971870511233041463046617008210880983213094741817167614706175767824670093256773478898019296425609767503619167500867938865313654292976933624969085482727398547228534044745531156740838405126313207973070567583536418860199588014568037495433309736312138063311858856474251154547027897405496256891668815783387353793583343528255509969488498509563752173713170060506785567276624643660959539049828285386812429269616509540291336690747601120608269197317784155868907001311619542344014239569513582408082242228135176618364861951135993868509549978651939148014676071873941175752545860951850184624584859452554180816193880171350759816074590731224985078232299647973351807685701057486456053608329693695735402883559089834913582649091834345191129523314044556847679047245064805256270891969494166504763236225928809392891433508117882273557347123151020191317594707186122549829935111364644421038518450942473575646682785266884592803825222608114227603595694655091490123203319271288205334116950380696427472613146531597459885003156858486052389320901137348503039520891154199380388467838803508949949608051335184706982980411059908213510158316268938267100146447547809347525126454879474952123531705137389283362534678003500648600757766682891779527477955365365767747998507905508862062361822730473083032567341289787608350156038380113027791906204377852582443141240867554828447714827557248218374121215292836124063659150907573259942557538195569392209750638952158953975126963469893115798351231488915703769756326417219853422481747543607008693580324600894666475197725915024091238993194353754531901166960316669857581162685990060050869897449921827693041547018857180783039144130537144096200715103306005756927719469772177383966611164112456094015496651534591081455183837451427222136951099290086301811167130187007467283911342095118520003656063024621858739561200113013710849795334019802265562077091547712430846990487257180760210909711450179471719829516739678023148561778223405788392629161363423502176690678429101274994665788194747225701125980788055284752264939803408351628059780994437915840090251152050316600365082966122564251202494621787751209467691762501720040078259871391675738217498141970278097656090691954501509264066177531706857641165677000037866517036383683832344744367012717834221710441387902774063332911971299039630158485105402739247553084557244847872084205352923939836924615458241964188699795036663311410223461181010321968752708304056881292878564133680733381425503486984570537386857407834412551635754274455730632624579274559250822680802935142768169901815255528990855334165448096608708821457782324748615335483275313416778015156820765645112189801737665229701711513989603562499694300777799123290181101104270609544660347038345024850273643207763895869487114425085448301329930442560967117542762416417112877648944064568092824003361066389937103516552223705285809869042908204740916883635116284048890954896106768049809404951253914598606314300983528824862827768579740776935366219844741017565459876060711262789645466720876917009830139817015334681074113811677001326920042667338052708256120918303222192291257925638906441499003435515321168784315201522372704116840766162704333865222641633688587815975385551589284049272002127650348206160905597725795290706141904930563138795555248590144138594998035985326781428502802050817066168605826773877295268375415887832333771907661454913571005383099681354602348935715681031840837516744914978028919707463307311758894332208688430363780237881967936145792374487628021703394632873501211897565709873074909374854466839503603057944982976231988456259736386609618050100431494975590449542846996496910927355002759304622613771182650401628927394306818486512759233973743585700790372859571593970807833403911018124127387437518110419240739893906348556113090959893642835832745610883941421640122220339892129542796515193322340839290808180661936081370061740650228195236064914290758286487189847946474759194842667202267477988296200156507797748152071830761782234520548835759224806681174188303173429171104794441538340360353859160930093699373008324788870787352070534511653619298236087027024425945784713358207048081536025633973944786547698168778532453795951375185367718274878364807087087164837672498576764831039553810625988965178277853222078405116648734685170700399585736015190218798858967921986315466919219839920149622478233483886005368527833646507703758829612915320712603124286192828182055677370728368545055182954970328526712246884227903505302479658340566402303900179923710598075639698592036331146051651089746271176329526685759711114280707096172045909726671512631800031155428990498286271502595337934010096589593167988498528144637575292458011549891424575222125176866015832593938954196482372047880054484699765924021294960380933866713926979659279528408432216317025002611648323357456608681951867055525787114100386341972102127330117424764195414483624285317926490708127837544176893321781220098301644109471875884270252211832308070307291205518339120696999622984892729898131537519859375681494105728480758414690092723340976645804053847686638096392038047648430495141848791046081045841559811933831479087841638598448047006546713360586932950113999170591259630333627253742235826638254382259228766045785002272913155985891821189124824380276751464858622826076075670315296427793490240196154119959082995472012436143572548718617789934685516660672134612107127055358079786094264839612307158787098815568014912020926219114083742375530222268088214896163099010248312566176213530250755905289556638408254755375606174448703410723146326983083607938565358788035153092833123771051129902553143065559884960106729820522042617188426897726016310012809635934037570749660799139272135022663822564743712455048625938023407908714529775391980573421205332392547581560645434004347537032454764989041395691010008995248289751213425584046624912107444232067347906127412142160293016522057661323447961254059628145665265510804447876898577272459900005450313267387779678389278615798350829131402662445386340660313709724237289226556476470891623406455035446324028461276578034217323894767431689364061834924873395219239062174115316399894147906778611521498072922955858524668955964058603380146158535405368859333530985922157470359258212487627787617799895231134892490580396570715483853733729896757390001709784071945419238410641165186151990919669219886159513567036184151731941197481018838838723263726042553410629815717542771781486800891622328555712601730671621220723315474188162410219586196645263569079177046489946037264914431758850913295139801201541354911920410554791513314328644572699453025403746832059673941346001903412782272710202917518707751514703678779821447655174335544031176873385045017024185952246666432516184206849994830055526451411706009373803150988409948881605635990221608770460492132059609492062292136547431149866344308569268641247050617464381636373843792199290654767081291482687044276562348592752093779786890587824801582083775849629850896965908536967718652063273686202225157439917338154338366323099701339600955874012196512814732081497320132016996872188177574289312250896376998640488453498167212733943990042144488266015467425185639595358448865976996005236019870123028569398092763472261538873261992597321071307482655939654013218006247612097232497411817900365686096261327714179044161275486343619644456456670389348539396495183475319364849238343343026879733794726802904626799054710537864640894547388538319914419717973972828106882781662072473814816891279663005478887414677239767712697636284991719086043995736137252186820534166483237663731463982322558376252357599434103186638299714317725655785989442571896414056916330676671682423033485293306066396783225078042398978947271192354312099874275645885416887280294671905979992908418813920781061287117844687700187648779514284862293377404380409964461849084720478136941375249837386759593364679526635352809565958342377389686555432226938481843208135658457653371052086218160426325671427672686529103824693834088043014807948071378441268334569677117547701008590778025495660489168936225335253392337418211998749601531938459245541075344447440285285928059160246583016541525086836373313754888829726733496185360367954213210992534471157516858827140013852891148743735015815105628173124045503952761533367916288914847318747304511239108281261150124987963388164164209410025838530920351746014608935850834222073094046200797072080977650154511194745183891001170429163375791398097576567968276684869238822833341268810770279384624931341146386606000837867237062171513177736140547733961802832797593793821912745264679197925006336605448216154042460849086708048747147153158036524842743514643468937265109481150968482366143692275918645286775136290245933900312151256397451997329869486518902680990140556924702133995471503264512261470323345245068775712366825111257350606860137731340088613145489952876937491236817875186290716446725423290106631879190618094654812000887090083826420884100572285813734811893267929947465816888612660666506088698077660533978588678708043481456437107563853733205728151931870087861566813280822340287171861221785909301873059915884603535172912989246276717743075406388804922972625472050424645879919505473169402687214901606470065007726949466691482435181565091153160393986161319687831009279796552240477192991335061879295778741657151854433175292051088032997494790128916398203285751906002661014627210729665870860306698696315585480679361187317290142344809199555042525340846015736801902172729368496363324042223686918141619519390978474976880641764605947502228667513718839995485182664313309954032566051016517079726714353443772830338671022888400231947538873711117615735063529509912757076814813806170733357137468301964161381762600311997915098092231443039683172428543720851713409631862642982361386796579621739198385615316698627015226666392154570664380852692347105778588462795298489338378317579441627833371379306538150012908215975980726166731510698152958444976853657708218929143029331316837001326570705148559562430257009853885773326716181970213113110165115527121500453523252790734492049699194687996077716105335878823206543528227518813231280644100681654135513810321781480777835150479199525456451255822083766787027173196148148445524446879818823097552401264877349584394007320981511807536900617079569759188414201509325441485094919495993250992026784847913895371873018798103482370806365963372814654547948963863888360344946233638653811270055071574674238099800745047126078462718855289587869573429244861200264030143675781960182797646171314150200192070789986529072585303339126906851142419276735668038241854547670518185566172329939232234432189309580226734771867405787584670242549940698189560889118096677731785808031114803500263221294718053277561712626765864279384310095291818906752747323427738096265521517603745123265414706970192286090678882295435343649340665524592976099833215411688655910671335472908587803019761665367099385707087253862334841243423627299293903816340796094620756773242001983528512097236631877287557212792490492349600398392052781172196493030391581878003735610262208731143834670589284580261556690505596777484304844503327505622869857338462675704209210214339356093040263704082387495227765969490046078453315000102347427819281450401818797844611846287434820698243529615746092090999041236556700073254722838965808055330515178628517584265816272082180997089094378503543040242312268390920503377467582326583944178206647939592999493477722808122872421106835418261388521950073804812744701807768514060043843275783503813829372550340439555322473503022186771494519025100539869673122584199319391126282600828830811983643878180961349198275397047300491502857056437995670424432025016542271207475164694574916129393108839306688323281132260010867873774868868118707860028301559960142898407373713255089719095496747859852788535401435782413011640887076536883963822364139442182672486483422925923482590908375702274927461083119796541823495208717723194026013934715984963780710858044685036640459225957654110312943770466835577975855480995050307444888520515783384321874236322705091414801437407043458845293440784213072926503837649954861748787001304058894335838281963132307870946945728498372991657948921948960622704608667383729568034343939052416903739910491632770670132892333097048351578486281792080309378392318854321838539993247488656336038720714817656073827008273586698855931472429790170742484006054039971625244819998391442036352403281979614990250498480393962417552504901855444375699287459830059672851937154125275459325561159607689243746952110587563277728946121149631967062864442483003465454515603328797576499898616414983773626692647440647160739134993369573289203221914655237142252205785405405050345955081264036845561759069239878643965657456291616165887859254843631744597511022391368877986221773391232158120884235581465691362609580384551340762661374204169280813744743458801821685548239529152229900307926399764432393362370342951256785538327545475559070719415721976455443326407957890990573041342479635167089001736632797395149052091709816002834106291750217442754363059235109459505603014289958057615631288496010164972125976638190741944695722808089383294808553572011534845162215448428142878325703182465059920559735248890041245722517819102134871114485199734203118029745844461923621016382318887211586940655631221110338615025784615688977238780279662934266433793246808459043703025428825813254588638466065551356326948907442104285334480812107404756274046866157085653533199949026743762204099558491797923733935545850526835126646691485614070580029770074804965077111508901874495134342254839538487771129208839247835888737633905872763561515277718450475564921232583073224417124467182081461401237982255245735107397397534608478882872132851579981775345995887104677606315696442517586416221625635663011954912641952860170378907818461981511923676780443390583472836790353512025518098510569757482798829482102862926032704043263293162866840688937308799085708876587119483067309293660869993859049911410988919281742095137378966088603322240597664871719427129451376903831929572951517557249643101849734091431836130640681809092299563046533704431276083489533719733791084072741856037167730981748272600203122488796297276388481649778253220486023403592248408472001113768269714206458747314527352108859641796418974409945547224959407907877895376637356869185891257358308715535900163695386981721325777463277913921794603580000520005737868361181137213898227304049295656178091683370781324297788000438699937247431148397856457769378111919533280922584082354765799164868951475363650385628902526441166728049835512862644287994205568011060280519396121627101665122879478239572498880261314852982021434620846547093164029239778703380585612207002343279833173331925321457458178726493403215017164010233498487115820152310891337691983712486945354401406853176957354824305309814548985422184789020341124981393267359289377205581371371062121356180534998969669138116973007934886557109970385720262044440082802462789319372198241732500115952615209582040519178897079645186979531949826872750078266077763884123963712276129356770834686863030271290818006486316313395811730078591222325247697416709402170212389703839238638314336325853933390103731294708845188782709836761335256804317233651165941279094016638892439748553200971689488470146453340650316632507132288004426360513997697810194371422082150270871277305546938331897397929905014332553627522529902634309887471618115758670962364765283081580085312226345749737568818865924133028891886744840649475836270301534952654305366855016594586269197532775730187914007114869379936458273043378278211970440493080769238170759050050614671820888260087722157031854006241879313251289510858888057025578574349338482667577130382211191000328576229646269001171078746433302962832236863332705193196132296508970771623793235177249959187731969643985901164023511154444671112623096082716631804949741992913191746584972957483430127652286897120303864820848219104364716482258893414443885386449234702169518074141336752234939475927516800572236223492667623521112425982031913611773233556782713037915279317605706694730801222168336936328180177098964083768234621732276900410893245126007751740211857374350470829275310277251297076428191966806892429370817108817865236510637309320879328876146754522626992274144194445523349498387102160617884122845747432477917501120846737591297492796019802254531402164351614268716206414670630019871029045470096020208626230257404784262036177064102213414976162653976379232293249663974120448286779875620223879486483382956902613902828800770440308223970896715145924991152075568009779155143579189514371477848875423303787755096019344619585420644143339736038622859765595070468179242188555904794215160871453518450669190783756403143365814406194258235465640642504514634191185529448636941133711448152599943813355923526737808293518869567318591538381856778506498342485497938892054946588517120680050353287581146221002004801670021923655889332502139931461816958515764936114836264280346571877899554553463618859673229634580168203162480161703124235920861540946221399718271647407753535117206426916370179080243406211575829901271937700379127590650584667512403754617657541293909652251026406481510885873063146476880199988842846890391213584972333728549591179959053964928719681724889627838150673293825903680691965384273632167616847957167130578211190845680914675910426170751141217025546238751036724022089648805971786509828888148467891082215439082374613881946219526918585018338668658932169352036475648241687342078077342738909690397309152352800957586121088692637409488963298693528312689095292085996800955749278226240186413950057539291167372635444261434229781355331276308274203923659477430903916873128307051821997505060813610455019023422064455220122174745847255588725067467327697123600434002503319455177329756373808247760365062740390920780062064592739138465821215940143739320769640706134908489161014802759374248173041254595860763979203582670185352224662975893576065801829011257562062370186122785970707327469514991644086077531572134357598664040372972290128657309260386817565828895480531904613628437381471019380774708935462637073958828818148624540202128868727982979655802710385761058531728718924893201993680373617310662224135776202822984771609849056162615636893349498092216529716434078564020098780191118507297332579277802571693703581587638113002168947495255375078933341705651054894005992908215868820078425987273151824263401793071824717204768248613109857837897148317354563656580665972216102776492581140022436093802242308389960999897042603260035064586703064236062819663528238092720712885474638273186047426834390164393074813023693009319658797003408207297268408946422945579114361909949213072693643948686969390674369730761167471525323061342473858195616270138981255424492371493127269055668219019499519603971133919213013300227071188597651376042246470936901591553481906329726561081009129681437588998178594190433567625880525602865409547426575926860064683491292139738579211125051086712693358630745707817713583042989896693216246087187140987578312913685473960216965523219473516757053717118287501180837891855065439386968230301971888094892238257818277230783252341161409059034634114295977615077293353540452550869644856158729529724919707452275991647719979345345635706568475476638313731486341842957515451178304975893868786176638409635767587074952175220071840235240045234454185239510868317293309340325836800538636317952487982981699526778261732394903621302403908735904504873514693862052005534090066290910866694786802167382798975270113830341364403051805768584804524063476512110136647033202144888071067458010186538595551011369373966693146119232200589300340809665964500014649749517277450386894367384442946971513057397461529489704558559245562242449646429980962642637957192593514137127861944330591406402115487122618287983351119520591155495089870627619190163647899506321104566501404451266854430571061142277016982349828269690852680437970918263745175343268942531357695447718312522459029526047320581976704792544103261164820008428763069205550629827758028370668680410990052074589674418215661951304158972473457653335541258619850746059596444256860052635417411442676466865076246376343554902746498576744277675961608273133014174524120873140313499946641202395324428045256776495077569898985873887230139355184799252968353556718984684937888697880342929261828574731752044158610226537514310112715462324271014564728288949205615094207469659372718849283467954652086303972964312390569105092054962691113448970120770996613504908255676752975176199407546618955529876500684003154440805809053765844127360947090729106732281360167030073534760241670881773996278695879593786441239015572312414713114181005080142147671979569371004518550079027535987258996796255644740763998107687983465972294173832611949478156235361404362541126693373569407160023365979086566232883306282900887403331024522267888212111535624966176991990174623559071093439556619634700453715255472237063600062629153412747859465950680194345314424149429795196806260913554952749713809284518713847172231042089696412554729414885755124334978989225754344051509141550819413847572544229971111025199822281017728201838938059945500883856662390826364842397576864090165423444977075540516470415277129414411583167625584600267064743104284729935955540095983136980759825026193699465144956933758498267207186841483458373769046397554192669895549577828307618118477637293658126422585968588900570980602969830641658689665200618147643292152778920918499902264552378752934609524373692765812943300509370322210836659751907079571128661988148173967297567437456735262949575942975340338622766794211848062735703137756263906310171292457713783884882064203257322606622817710663093590753738204757239376969194438942013079310274467016815346075674676558502259508189769256811458533055573075324984730348018931547818595506422780697806317230617563521469923273731920465854345924034706577164457897008918686806364469834964541125553230394910558677667727358943323285463870735770832793493773419306534326479969288794856273655283705314585562885582258966016040818327348867222526713158330867652998655578371929307968738469740822660168882604602945637101445755369479349710566990734485959817922258295735221276971600211654777828181230214772600874912507699797626230135355809275432229025451798275690038642211023353991794182025354373083150562287198357956449069130421884198031781779746028171937397654727343690382430328885482162873666575702436830138050960349676639852683380071171939612390796903437570407230720646956312573720130952989390011086732538972318376567356910598969365322051422321578797011453208382337403805551451139985139799997409822352394881440317432616325727795304772222680234435852419655033614046436661000195674452398038546206878029708384462357724137914546697491952165259042731397366806727366795049522524831311956822243951234185670897124651126329763750817671312482701015578548710310727051213433639481846164323527346851781465688138492292599672583906202831483263622286298226128773092486667736166905515948974611158711502622417823573932345485017068677032613370842245591480915034239991545171845047584075558979408202757930282819393107676864351001755157528490576538707239170905621831872148583365999302980525986881780747097595670853973355728366725639865774223321202848982927274912728352746353178540595018718301580770074295866290131446640267232600374007081903455025644905464575485752967616836307949680574876425231731955173027524107761656855156732231479487782452105464616641263132604412439075983902464767626306521298941515254265219072341216436991857167908504804473489728774819721925890478536401898336857055649229297112158865869883731080750231829146919593913993956781835439599084766052332635062740820233628513492576432606160690222001365065060053891193742682172016467929067361056810963722157984501722771931726162398380167468333560351743911591456943639416582328665746040438901466647932360584964230936974367630605874412425247022309130884194668704628021451200025248059988230260484459898242793395049356469857922332442613995425202037216599630966754421206881749068352311408985307993112535835474145905185981855251398090446826434079349020900529476128435160653870815513954013449379159844364762875935918549603059367649048341799748524572364491390919380915527718484611159312117919487780533060096944720323965298901589029018678338750883070266202984282063669460674612887058489111118847767271638756432727826711990177099302328589178397329301470389284976765641585936052330396527050740698349870398453078128425014546384367652440925892966065103675252550034951374345071799730924373659582443077574459733530306481006287670335540196323590516938117548182263615899590281733397465237205691039287407838699298161215728087329288092503278792281313603673197270975798718508969270485763157447135418735248708436284125192393500063152926501257612179338172367612062834207776805060684334063202853133195121611543519536557445976244484818103390364511218838522572578991548458647520617775459208137840369849176833730125262103691234712869206083237614440298463960550651073363499378139542887697544484782718818317435004631334097060565698300632177456422090097550534339121242269416120839148276081378896277734057215987193859912222877061072398489058109243787741898306894437433204387996258825740558250605816972421533076587450703963049954876322962813932334477922546184561270219682077514091326746536128975449824146273808938398436889126866432386229411439662987212321771150905294765458754986199771021803075033718282199592546199924833096833183190522084906341572863233801061395483514615736359734486484690309458721516063383773739931917116663698123379157516125745064432938289470993231851912794853881326706450039423605031803796428655842937136879844170664621951023095513193950902984900159287357002336890308504637161780881161175005803590382202649499861851448695928400748741086896589110854674866370431317143084619081760976824508510358280347307578258321995869757851185918922213172302049536906580199419208059261422281556569541961534744282294631671268188309265354098057408163831851901775156588978894594933884155779311076599224751253422746076085760474072477444222523808817046494539013688975616627098957984496648883290671121976860293015609961747403843321562943625872963171939219053219850247024664112848102515721133844874604871481811906201987928198555917167314980513968792690580814322901589515950126856838800450823689490984029006712556586194477563680040233832049046157386123496644796292765141654294926200136564068114081984482203204052416512395072081997464542689085351486454451133380707877096003726565012465605731296655727543079119631967484186987805475773821991782260553460280091963101328276951077525920213210426941036385276718548256974594821148535765344520411874235409073077104637902114231322687458504597912545160533757743601139617366072508270162542837602965560111899073118115163867181701852534495491165105248014181713274033091241151983085674746725834228820651919923518371436892253874442978949670978887912386380050635953634589619380960151239871156264926307437877135400349746312007376931390874662941184884388017814512039670713321049239851004088880368426369302888808449191263138841499333093549237022738640871936629754008409519635226246914689124130980162952828946779218083456491830006998307063991530916644162133477659013585932527345498742277518566763443424675052395711379509072964652654297036975692013181426788455068136886111013997502409349603098327959778722552421103599098544080231130654947080973245323592198098851629875616134830085139282541303380609615981286005507578650517852655590002332703635242879182763686681797586724326609638251951813423426769900559634149810569685163133639964389128292375879784518358930529374843080231223011102808087141822519772601679001906887165719552806609694526106801584910365185652042095389019984821585197290183651294007735555389792489877533984650044926025393061832951680874619079709282484474717379272754415966551422465871320753562614854196203908005678940212192187322128025512663036205230573963525689290165667277910155406826672718958589869749765023624103910460725280304368838053854692409248290401706112781385896791709771475926257140105314447265462087576943070943749847394857389715402545865963577009629002844310472831093776601976875464885682084034622243779969539961613063113532574857712618118333131987216818711475333998656592579609567434376547624209360835970532556503648874054653050226448294885673050752343653670476873953953378865170978962518118321924010911308069895604457982249071609238121514111515713268279688715100538669087493688275619690438054447270734924241348447596297255232935209636353425199142099716993801121209216023251113649546510138372311013023026343616470840149026352452657728114821565038738910657668941393481605141411674630842130694251773840037720643154917880746949195539419166857729723773296896083067778643321739019967345523429112732623890042033331628082029293051402438685951118408153734158935424112698088094664785993379684401839401184187163172156723319002332063325843530143027756498033828480892652788469844665875599135724869956737418036659106067672027768875893915771499551717351646250548951656385526338904368185492131938337342701162362640065579890283711162378315013646649064096659726543578871961274876556377871634085269361678583903635041236687046114576818483315053539096506349650139033532977694570608791710053241065213050257869505189872728191443367693732358879303146304998953112435579264539471004400885166133723237578227660460508103979252242696640730173026974206589204635333575169940872278847886244606591005835666450046174272784746463352378018769811135488902307569616559222330887654160913166636206612951908389766548120635541688602628040466228998679704028282824088576844759222856551482644372123538370679566539569971812259577913602311003172978870230462866473957400346794344424268197576701318896386521090570763860779862320947681025435847898425317063527536766015498821050575300723888494102664148958117061091624975502670561456250906079286974201895359467445154124660716252796537800777437736826563752411294357835467187573133806469274048845501638668069309194148035870915895235603321046945402440407332651128413574106281104700961440138839570533545494763151033522884031382247751054084012570673540435937920195882505029638255473742272121837731176821055546998163484985289664603199917493974612654058715368614945252579907599873129114506950969612135114636652945430505987535175006783769042727449768180831456978629991622897813908611621376225570499159556334420036483951617230435887095029585447198430916794400611517875291827922097136820032971188941159084151959404486384601754231629312545621755275118057708292032353498079836121467966724260208201974008803699489199898976991299633799511300038719127764369698235604903762928110850039763458565497265365470505149623656561964896602119879603936928721203693117641836449944139530203386527654292352164373569269604330683695387538235692499503727027157467076694666650885695926683917669420214069614839274550565413931527475917813498895888608800213111052995525854303371785997828509525823145604573050866331932778223347460606915820958956684643522089015205071266785880311256183243260170287469712707750451509132594866659363350664318447973941044327462687637809780084402699155748313262987697479812827234351441182011504540325615005028913620008074877964848846641330151443547950952458159601594780062178900533213389167744020845591532710374504185449010178103065952317097577812223663532348358297463765674219418967080754456011752127193314579635228270033153954743497670798326199112100233585497386751874759111083339887843249735869535087176849574952138386626495606155916730725086747626848754048902090139503539745702029828377089372595534924266506685994308664351039643152956763481008737158135672917818808197246780609937469813155377155985088419318810573803807501325031532719317915162606529817527975862842616520324901679073630186606415767776515295425308459530366219638063451512725623800539607417882426958899040463335756109516578001984460334926493173977682656485729975723827764274602484562785365392887137135595731868681578176544689118495395033055428090247086542331290563967231550992194876979407700413710975021025589689086527389108694188950888301728932895822813240916737038980272738982887483075641345344261600754633555300286032130777375217181343989959019608475487544141662552996489854360206400553554651521499308609226084419643921905073980526417718244300129954151483201400507172341765887673296528294153831652333847705622005377914149618639421673238174952383869743645058380867608562308236594647078125638953239385766000374628153012435032917718927480590894294327362275218657805298166329892402814850353367298684754586256646744440151973997024082440680723894624743749987925721325357804118150822863969632539413654547731769998978082789772089898937692294340947493685244596825005947681695667817204948513848398814242873890598307948999471188139682799667917161765492850577639273326840072708567581335624984691629874966544364778401669649512918647133797253151128065664927379399199604374123056161632644771733775547706523955426271290189225579634208283469606538957431615668765846885720520056870538163511709757271788115242404993265369306779147523599133602238168272635997112005551369260508442105973506686202140753713167137244237114683612558251541325882526389638463213882210453808718482181717806221824076973302617659393132303573630779548485086562289226109551497576367074874030455295177724018886591656356655390353630934071917224158891686447124846958244426091980001332583200041586588844274710159670413563065544229974904642761830855321445974706639422398324611362989431082526414304668737902464107005398941560728677513862565682323642198833519572407761865799068243313281295792632222240493238722097733168395793776859833463013784946374169121762273910353232467660549443179705190077386846740357450855871101219488291792952749611378527315423918853952822468268573740095733128081311956313441371838488708154698982053856652279839400161694288029374439049175457434900990404091794363051232904297551499514502441960477329980447954279845856101851746346223722631704127684338655640416546362877501408985176156678628028902231330808701016808245380108706449621087229500335659282798875058182041024609781365889278059111796721253266849566577966860025011105342142024494918703385919620341966261359056550729226524747915971004836692535656014450252992995052697965240489546675035399077761737248109983956752547739951503785500895987941736440510981672853024471956158923676038046046035561625366412698864488563791170168128758295567986661322142738017419103708474235128151311056826591388835853825378126825578993884598306430088062237933182484299646343314821332066693491620476386095415135915131930765269960502467508106561620616039823426258379391252864103761268687878612564002293653317938400514949378195215830501093651138053536753472452617118045151896546113759134867360580357415439824919985640757967480204827419783096961212064458472313150897870230427274975535824645805059060374811580653837544213654629216163554384198141612853479095773933627520735515480423984128233260283414531185119253719175697439072620684776216777400136977695427521241003715550330741560444357868694708489174396804305197337131631837362210337340929144775342728281401251200318367967236596762627262412367613884494582775788904284111459967611208275443970741404924584256760456886122535222937973371295644295522219547289464130635455866101941406688618982458760913666047413099632408868145241669869892851188290688442048327170445235082076659196200384236810903578935058384996202018022659653373677921944421430533951568238201803050377788300709204874350768966369883927346617456952666718441118660626948317982328157006510713596154065923059919071424979448801137597797164042529362455895244289892364715310277983657562513684081519721834904313849641632594139938470455740058381246559962962845043192762100400132452114300957856587346315538618829604616325086420162090346804439865512911296835745103151583280098768007673375647875685914121603512516299424312055795610495001576980064660209634136197658595781430461032547218342675873670845443068820845789671901846972796329383381452997639901246164154420797589285265428379508771649483930026711337324669269940293035609710624955721821681767377354912733449533041128879666359939331903665483783511124515844037923230307875051616685562586259609535226860354149026030650959828114277390967256088010062963444145871017271838960216849362779337587865822995615561344910861067778177685380614404592351453046731681736371834163857312799133447205258224553561580196549931464965760616542206474653857610649283651166118493192773559893714746894399494285230514962206825014952515392934013532312768912773394831378769974490765473462825347507247226636360376077158641076142930431015385432745987597096837873421753573588194347844023686595110714948851283641443880401255671290030846815889640948911689275031515948756895079465266511773749783192918579262107413450277333340658203120622543218897572318647853981387941212780902910389839072759118173061224421659689430818612982967993467505212136186676376233174989364099733846989377948036483802725843111799473877154696525869841022039862862814485271634977176849106305172200715679397321713214250599749819234517418793685339123595707614587660874442919234982637359628603914221716041026255008855418763285666872157244499932923197698550902421718359832248230976626837497838745907584212262537634521581051250346691831290151193650815283209442700043601220259068743314572405654301629578344192908193493107857389153671558060414199748890328593974974129130354583034632381302741729054027802613731450058987034442002927839834548203852025790572289871343037510163206501956606167682318354401881114146196494753790255881984221614586540748631250277103875030725938720416403313421008415308098805683030260172368946424127864453799488534887187744561755506643746947952787922405292644262013546415889910894406011644202296818765764432345695831728725345662174602437226200027742358692387735694821891429463507002521002476878055279793749299635869434224203279763946710760374744061029594290294961885951313704076512688747377723742233710967735010809235005642355232411595088848088864177395437102480800049221679584467504331630671727373569818216967684472419545556024334704579976256728105813826736770356776899091232555340954466118494292316323034963277724100502328528707257115131258980648209621358405017075034756769947964738629091966129804874367145161799826134545838762877110512567715073260867093900023778601322974100510576515049183640344746441065055196531234921071804992175910041782553129745679852053751145025516789235425301296208237472504324653311875348902475216707696873971346597475366301554904596438518155144920183848571724486580889453184771175026384419553175046484196286160785322455830995776761748066280060865722451302698146600493944203693627860648679917417264753886002370568455993954628493423255276211505986465349368389632848686938122512029045382893219472196336509901381636849652238117123793522679357867590916481372004366103545550114167637237288858065904744144619107197318316311084097383146261553509694045046751451353976934508997843051301514667967893198340463319691697159587482345728072449428797722990612463906159906361714647551894310596767849077764490900668445925500729974624463105050449101385349854955287251818390563076939696467189998852207712507716997389828317613436583659625604100724939286222231289748541239501317043921463388361017212072865240394645772792351158860064236357083849579328700394010989742278617664577123847794910765980567402940068845359786847053994924084104446063390195280900691597469783047414174128708486070569808127872446826768093474416531506873896765549240631072781581260641141438664620026631183250174612040020052466906402176600435595743664997577139611028011848980416417855092106746807471208439115115594939247084598844774252289851846676305393758255636904875406630148564773452291283348514294680403662871956464409598714032883955612120396241787982048949472092517059764550560165460243867791635305213842495837418276144275682667325075513957966984785175274527802818909865594498117800393467737797605300957770401596242128492696925096010302788880982915013680136197022592714489790634799425464195615413821280266878305234926728182273030298070018367297259893829687824713488819503924150848217468392072427591838122507858054252521799673502240687417163095229819501648210587279401545731849264190335012548253484654076602830157241852065100984114087767906386840076936897963800551021180821534102471629676492696276263667164431869334141227695150010992906513346087365327507828221556410384682096135573546470541255390256813126027114186689760159702867142340592533997060372637970941489528022450353773725970560778269866577293609935794936384057304839063985285727762909355259936974788923341293204122516938736561715112508298986098885680428300115931871782923485401097393017859760915654280865759724252331771928100147182320955916872551256674087811350372311840688293052526610319993469668776067415815199572407167532676221748717627776916076377827762180815062101212897815174649370616966132448599979521545734694659218973633892814834968106028854344335944618191342373921953752334431799906215446155507302107111218816536991053767792733667007238811181366672150648756494214933412675836091753990068777195866684523888629784453197451831240242955830892680944928666195979977279147006271406015720784454134001005293349273893511095818595017756318605884246145297700558762488983985032770551546524503429327285063265594299805988123428298240238945881759147524621070767154062612324461509943324656521038034556826458850984122556086352816419310835212937777546948835852185430493289460901560508654453672242904407228373228944590975330533355848166464526195410591371238649287082435535883530105681969587053490289737308628463228830019249123515004026485697243222268231153802474307453908290053575693783182851247275036375902773490550021934721443766520017633948778569384782957048178427049640218264539181381668579563840834515533860412664795368234544368054335760938216178965165252907804120899119188342639870539808184267513395938711191752639636680528441656853245863888682410900623911849113936321444157591181643905281891952160521626614080844100396008747010791131535708793730181808681981778083770352934713822333052770736823989643408654289020985485812236982204194805476274209416182149725453658317015611526253457181515938048677832561412578811481669331677715106851676060232917058875698282667498128924420789896420003781821112667661338785401899596125115448062624076910650269197073544734799694909796354108160391000976539063432954306030632650260612216886656999711011842110509385586254949495228679523088358785495823338519316116367106369386935218198832355167014641192011606849982048160879908750425674545080288775081429444400107080695236693676392714517624222970261432057291733510335848231192900812582066681896970338408035171603966340564096084599394642868281421268144239875601209603733464312578258896219130069330395600871369655475000892098854976580618496181597049694955476917737807245682736712410722807777767400577756009039810235166443288951499884969934925033934287290216665307201814479814280798248217751338295432481275793583053826491384355050504388378975972008122262284354111144175025982093170703722638101287032383665389108383605455654345990132412761815939666826012142843665469228352055546120128845850319641002621713730134021607709335295665934235120238240102058919461460457101722476627398447864974156778470034444009042880684772387523427329491454712764073387421640635960988644756679999669208011595870697197714302383189732961751058771431506863000121004649405071844631508901928096496799271005566464431013380907617033085368578244396553940790357356957850180121988461021896612162813278693169305940822210547974932102973240878503844885757235859828593019688866433080518626101594305936092107616655809250813238077109143801487767332791770873675138215797503242907391154308195312205405272621093446611470635013505459870876000372115415049751993171325725590411126194273479788845318594125229779710304355016149895666225346736273065758340519279495725383315842584476813737948976233172126234650195670652849109683428560075787857888749547145800928749616829307904355511012638625573508308187441209222851110196323929630741227133685059022349743855493090325564227239793047145460200979978550600901108474394873114037692046756937973891524404347902218251388271224662048619119846260736476287247615794229408799189888592905384357991865298467386909354893162513765147748969941527451270155722181502173041150743280381699087127520354625720422391935451173546939655826193983078027888967142032599374702588949323354244728497703562280442382877501689238963808789007247521185765749331501919385352092821630004797412060785411837516636673342558435102174680186209276529819928890659136021052561267549601072324430670874123697138159836224941467197710639523979414642994889869167644116552564038346653516784386001082612382000174798247453142223523755340603844517468078859053221381005812885124753890671805219104299437165642295133928792938809424325498179088723712524609512762969842381353414276166162073000005008260468910499521693961948360663186921175151454234236593962807517751755207897783868988978006729314801514597445692240667889328770121092269881600418570144797780765255852118409141914508947264280925295270368289886418140659110048757356070901892281454405214324944810219907636759300220770687318393391700613917318988961323411120444502757565129317308083762799850949069012199759742050677537684383143120461954941693843007633073825144203266243821079177195028389041635377538826987923073284970700702813688402312221214702787809300858414953464332474161331013635784860513222687324402974769811511597331064548609418298987295682908135944334759501761484013076208732892674299273101153980112189481253055048925591679890366003593291524465924826731231408080069826623008705449609576525668938181561625784480418712063617707728777457569329997536191447413605662554208638156267551008755507067770834888557465419377726354640236203823709231845024375881128331703827685018932816259271755594228839350114285988366908293053924579005572006565259505707346892649569545823583975793500135661617227378998669265877404284306003811223736728499764893985970192271473383964264376162742394848317973106926748111219883524356735379858671037504127647759968971784517023901931316367380919860802877253246532725692364477589852087289887811029319150417488780015059774960121579453260799385865360253037222645273908880484726204437876790864796491584621981648808549557990468701522366463338483560753193107379090058200979481063416869386028806404761804143741667036220200140295925584037883403170384930432826803074122129750135066888610219052208097872382094957743366714778180504645278814519124829594348290633311386281986516658536167621727466238701752515633003513531715926827289377716001883635549491613022246724218449846379620076619928265442395581886773374586692700039210755213285447287048809350121823066214586617528061064682152275307476575871452087887197679751867921124103058252930555486820878844819599273535822159420863277579839962898313218384699383730863556045287463442792962205758691469472915132652848217238978810978088655257023889974319631251372068115015893843236941147841376250798328088073976425238583060681544000211072670896671328004404925317808625128772580079400282684922283411686005515821179586279627736791954344733535291257147780403095545380407870419665822241168594882671591802034152425068521367075832127449933011165208451325000485321205555561162798125617982794717688513674145662435567621401894391337153527689322911952072367117256430469847430836615796325416302777414443285806327647605542990018888176258330295200788469891735298138211126384809203876811904393141439953054753635028075201398067173036198727386715079622467536097340644955938701554983880206058869345242499632536912336508044127137954076350908271390406867945905153688995173351706980940527513220121902097645582060226931302937111168635247282908138204183827217647926883437715860269898328027320214039526068794699343764163756732410778260892248131557948891608716415783379140485305024540840012916788612510449255564162028631548518970765058786827604727702525404440416520757025290719510251998512873658980122607559814946230996654528359436942319529679865264388998654198436374248267144275842839459868110414300671579426584426188499204834015932633868588982717616436079920143590773465082533345622317602287941378708804245357800444514621339250507813835986672799618491842246312417631595640093890685577849818641605546509980611914511215685371620395103564201838615685422098076754296949656162044819263474134517352480985209212206417151807485002060253975739211969397853279619855091066940553651747378524644731891139684135449423855301516880745534741899061305438252605717761627899160695281553355155465518607497991590277253587125146158565346881931394251848539965643599303555342942590553736308179681152530318120961240391847406341244834689488320350154634739453094626384288042712388092747222911467082350769559733396699523681830086405443001271602652357341876323485068688774291542566884876765533169902631934350298018541021638020689471823512748783667319642009010737478334392653640781968417414019585831501180845088440172755046529119072230347538364982894110234441919738815993525408415842607865544425973168545833284167591142742802504186972329860997671026764688607663700865814277783804402090899609924480002462920077895982697793826187021920254394773278580676655233868739824200761358088153258488859667451652755955411242379847323332299999589893841141458236267836003941422659109820756056027082957096352796837122151381598461115984726865674192552726816313305411330848053063568411098033506071827750596098055740485975399373881202899062848273061763935637780048343474366967676397262760252346276327805058780330260983248285563530648250613106028390454654057043388057520110103972401564197501794785508761772173964490032185019401358057937472699322396945509045857010173772827073846648109526218636828697272416538338515786690714183622160094840757242525630947013282257914006271124694551764973914549753131318919300786299422443652989682554072553014465524505170350452911462379299090269357502932538801667654673494668236895787355791515387195305126120413144541572622172176152964830115496295219802436380085998616638764924960002863786377354118400779417839767440690542555678437028378372124451951601944617201954323507449298025665928460404929577101021830031584812209060072669907991381104532731317902401627892935882154975307002570414078089435848141890117004931570817551957927008784498465107890433021588405499093328099227227948918081270340907088684852208721222198951358720380668380548093072759687304981402788501763473172002207093918031777658134205503583511155935411317663161903672546785403587715713082196009650011328180135127437045050309041328170713438362105395694041499465161942653720162436717528717773381571178662968661655971688550487564427685252017793645757045838174572647518633043401291500574674681513814457552621260505008630325355014510867152727430582796620648951373007360992356935479727792490681534388811604451889996794201635944268704745341348731067606708432653031232573387467915050815573697526734570666717259254615003417125163101963984688818179423534022857524884702573267659292530710492477561306992561259903116837402776364502930233920051403096865752698273924324439044684203064360084678695251107777451768766923872569274993232919196514023080525137364383740214779568078324106009987924408519539663609953155757693404667626310931749927537286167951960994473154193354382252900485144989571706115216406082199114577313730939058933083925231609141069516808763164281889067117976037607538473732461663049473273567213143992649202887143862325547847359459873992971613521498966682312413315111409789746425183570730883385976974317089637960457750300485908522307380550010131567989176864434285174167801237426480547829800032566147185191544249890194355857613810616314215336971927698346459300269648431546024490408135169462292913635974369779408561591279343021951784789596813001693273682289999044747445701161059640794997889068109007357818153872740472386475845917015130203915585366864390206624348353018801550535796652838339082663370037498514818885208316393005278985582995029131718439149926880294536991834223814992865073327700586644667745062559026792703083765241277208841102322055396978801344650914607761422517564455034789795437012619720490174793279257886039053028282640274879093684762320682830581253070861250432945552780038980221979377051018207681467392068571153080227607143754475240952397848768295484665886132330463260347670339107667147590486878067781659156901338275267958030057299949970963492009859679531921020346752334294856713176479041677563816233933934118487836404153865828340293265874007309157905258207347509902789003971709719807089054582293746775507131862100860328159270997722883695413483615939304901458301169534738024990521935951526486389653658671957250404943362613303192150875008939455094036324319178863634106217607104578145065935913770051354168307760182452815288725900276850025420716299554732093726577451329199024684726494361040169996303479014739396239429777887818450042476091029328836622163196120911314896666696158743776965355878985976657537815394654128368416560972175079910614853410635125224111125520890345399322904283348013975129386705221700583843593842653387168042903022842080925726876102401761113404295835573209827117880679577510642763733071208237072516909879297228642817360609811883749594450155728437413426879644033748139555472209947172703227646000124482784797190384458969270352208253717215573723190375240816888940942428566880227321942858860454390091177591789594444623816751132838327267631016814429474613409400938988940683748102178718727352552442400526509998499869520312672138755754992174868876793971039397900770822717665436204464914625030228858547612054772785758848570470512630459484879348681613246433577238369800635587288277110202204046485297931646930927515624620672798618026534095523384740042790864357621654926224098456935440868615075994230742500566837850372907023795866969379622765125506001994307335420635022416592814339964437453731074655974820463357258000597342545820581216874642631918718944216263775647374738040140427287618605783993193077617740063524028182848621015496355629744950383373840093978009414982815656557918343743880613975999561236194620437942685409474189964430267202691572321431786379492009031085369215032674676366217522195935940671131830035222512125006534377190265009608723315956064519112776430685901736485305701119698060497984754920303360736184693975011577032472954762452400840365251126541240655511566301550923612953128455246964440909606014725725077501447515563363241495042439906195199851798518806037232973805845622555739965113483043745684500266271526559581952768251251011705212470380219034796461266873084345959201117010247318253286159302850126643541134930691366601214560770969779486317479198610832295761493354660601277718247156419007126253518023792927411386991752377818145879245377664135532276124760038764153375772286845365511213920181216680506600966613397950570973222925776145108247586157643043031964390707973023540629946156571647314777286090300319887830996862375294201723716712808174026436696184543452975449604515225312103621950819540418503398940463803601262456107536759399683249442938916438015559623442410116605618851359324920874809763591731100605294272587081443349925733093581409830187411416756781087790844796936640507472896936784271653741012088461540949794585848722749362880058984562954726431727978965050251503516171511443689513113182131560488746453519741042919416108073544071781252129999138610966847577960263013406326344117986805558669930327437688487990572317072932624139808521675710883062672686849738447176725112539587918384677589260969100152344182909116347845446340730910721858477355091544520063991929042582017166024654095937243028771960143294476293984723999864474936139124217597281351717989743139412921414706070599325597107840419727905603626643909947912052255159116603638608792691477827855733048149499054069879503008202184726178889639392502048768488155595349143987451392326808296749425558328182533814573102034210753873389303779307927398925085855175097647867205073702325974050641456160279230831547975536199148563730608662962362159997061078135244991194467830800808122815204474927389483208819648851750772285710316997600399571018032467933888581921613343563885141665268043056956085959639405228766848587841718353762046846667837305248622156340402127789908394272247216879679350280437645688322388906143420347331205668836697487359546532229217252536917826042607271621433267240524052769238786791254537878229233869563038499419505885161959077399918108586196106716287076130091491147412209812393623408167365395226847445208275876955849338006478191876169705506278403849701924975076124092767765502286622138730397645957001817204565244662697006322424578246342782220600326835150784524185656132657886233577685765868685592828201004132446991684185792847021856765951429034762777714771491085575739985483812395377223523638639706344910791023072666519712197723098872464953579290018079981663090776373826188510894964051554115659569529099241342742867886528267313319611240940683515357224597824661540067245365679196144564720004624003540293649720850733649386404864611271569530807498331117136082666226053692587571037381269374344237773154146059719633963830415609769585624699924805341133537343638752132146381381193870196757110227931046892242872625327764939327102673517229015733429514692847666195012784623018218648022917132518601607474942204589735563146419294643322508922319574897954175732091653644550465298298414418780394623500994017081802821579965809376893734450762628221265946609832275493497438276173383911838351008684624617179666352147157995894126211762925412913090510610290732021773138182132932324268942193667790642060125043627627940160516211815194569304440228499345050118910698149011930445495253642691180960030178478651972852985812950656096061932208065302386502624467509475978762266394319117523877843022008817590298013619867817022033360713720960661627351438419384387771369980725528946879548194731946642124555993783988040501976371018332134052104700266119747891422819222505233185290902108124337389338985748222109642555979329588736005787641561991004319419087827006211858276448242795767987648924816142482804173433467790128560681703994140048445107126038561440620464373053360061305398644256231982630949536137224584411346413959771833759027362643459716163788499335676547542462394055197789127011272964073409928710778997115418391468884605380702460130126277497857081647439126143111465099523182148749996262492311488116031425475590572551028385931853147655908078683030304443825872342370022414886710050018725822431004600622164477644659788282685442178417937880504154102938103903941405514764719145769625452014491240740415362546944294371543977839630773039883317270318465720072907310548772356913097790761998123201655821122874730365752269470460763971262850129343154767395083792002569707523114630283716566146018062937506134254049917440539313896705372430122945732955958644854374418320516534538845970424755201452953533230728561736610570338479993264878833878153498279946596901372335732133055914522656880790153062948784857847123949892111325532178506340313094365393327965016525030527224800853688353407124979419896986152573910833626486764983961547839385285264360987891646616609889457076330423092445374342583767860941342763972297738383526814150885404579546103470716311923834699776400555791167772936288529624107320512392163397932541770025487761017088338783323290549916621380962632969424305811998238715239803110046323671161098961165207134386387795072413788378547934408988387151791026054993018967629226505330233026452624087436025640821663006086659025661534222295575107838404869372389472341051946389154507814047580429941394915882342464073270666083001262808902435780061677487751767314780833739457399706620054966024522183790655130368714555990635729822070738164214599952399914450139577861925963997398843500413918700324270443366887089036681383185624173011734057892418986568158654802595411049304689133168690497191570492188339883131705636768991609826638075816881994534297686520547560539036143039937346175687131184128169813185335811849922703156388449067159270006185168843209612956079046575006563148288188393569431903419290644098719235615528033462084482112950963628444564702554644895007135471374314612654249378810246994381726349351657278384705617992336514351987925073118019880311757717429015989750264539765826186713760313639171464849050220440351061900229754000252334070484250764930750648778651851421381027438318274759690991121804006104338068290964563315882844287722023166863299186368250605597722894401224018202456183333981985134398314608425375242197880852835287397771041873178216279614793525055053355837947958040579402063183246442411985042303070177686162889626305595130620894508150913082098978377097142730554856095904221285902754194162531157224727365781272189872426044430269847769558860878014732968023243345860281569573519610447181310177595963033032243338157987124936154024322584230372204895106472562889904445907585127034458083064986857696641811477450363628803536553377155067052125507445397538630480373433210442404119612676597866320497155140613052917164260679816408786756800186881269731192103595679000367771733155347953869323741915199240858080397423592809775594930193913462319257314266106626133564907902550833423457724911387400591384603382439479673194751256919495691477786644858343976034608697470942103147163965893214871288677232862923753496227545551533935115099961447871056668621277072173869532618546279097474805090832013542151018519649937104652782437740609574080177154360457967313486787107425312300676370813281893494840964637603443335271243045509136528527355370252766998816162639709264358560783113502121977533722564900819137041921480766238003725470681571786215460129923968307593993615060072477666139242394108376170825337813672472171393617150391569768391250904676640574693672932260033155616172839394879614674365848625006709472194603605178763798115009673627469320450754522722702447961337728850279837533906727625960093622310802161961486175153762626329119079432366353728216185265089175903209616881198016706203016850820013484354002067796235819545441245220897007499805872098366999465700496601345473492421054499705309251378277268273566427504458523286864868262109093301081324242090045504427855037478657845100636183741605655533232210880195055409183314734729792466145971866974019413529806039280575406402846884745559928229640960920654269063773159337490786724089641663103265759165738032561517843832972214571864050720026401071954689012604649059074021867319963220900479661168863998436438238183296546814942205326884646587820269134343387779696211821591455643571729192742309696739125632665787636258612920908687315141931072490773869615057325727827885334463431946368070687738738333858856561363993159419447309090447466029568765605719533627505974692035910372347039996626217902357346328836244867575843195037584169232408371009287075706773718192718513581770968038064640323452275930178271953588884172019342863820835087892654943491088531659126580418614130856291324390104463959273325402923498941902697593398804672884187290215030561388105690396000965079594460132758116938882623398153551779791655971053405473592202614098349088356668827699552089777234872147900877011399829251492515845062304409776368620704074665037921853560919344418793609244772914972168153688787699421800350194007656109575286763987215821364308867431701062508052343682475647163889778901744160727654632985144162082986414710185895713466126957235830439203570990047163914976511537438554331481033381103290877869088167493350866315365290123736116418560063033718687164868985253941649300306034056557991007948245225966688836261485370142210746232167386763349187636965708868879515233675529100008971872668297138494459982884628623315467795871842963711608575855148780833266510636531935771768898234029271399078879575647974595592128846115644650250490382893184427338192390881364827446625529102005685828190481548827228434317624965301222103419384747209665246155078690807267125658358503107442858652360105331848942996386015579223413856313102851581427958110172791062065825831635853236178504457974127290110063071958148646718516632815770813205265402427064028257897605318279572815650354512471787987238330020941192208434691258337511313196478986619772175124516945234604640923036683784970918912101883759739227481242147018954535114044727214197893765110632575207221987333337401367635728217413262532999066356002286428169955348900346159884542695089782224662592930281235853052379789808787219599715247592962915794246894844380889063989393470882467799444057562444347263554186594925681203610751587771607385686076625264434624159479487826698609168220321174742594289039903998063938005227828615875228589863661442775225901407528628009397221442513638262107414156449434462462206641339226397316244946182457293696932588681323150430956920802847387999879667429073634618791130733474852808700756709467946237217284402327232806696593387992165490933580255590167695767188834816363181593178709679631736544728490083169478613813627392703683020636948280474917664718642054464060255337216513709935981413440213579187311714151588117176016481819853830838150338531471559423487168259505121570280344333212123387853535114744713541719782518506530494411897611347572289674968865542255425606208462901316397986219088926106975163535165368574409277960649053650786544304575181470677574364677396016078677332573537298297729810684395594483486954082794662161250750997857148919943490483467020686251887079674492594436669594491712510403674937377901452887300755851180090065143509359928110126461399313566234095917254681659902039772156377746546280215857906995080306086296747742982717147816353783512130556073124775550269920959614577873273215225655552173027869237733920851883462920507445874442117498597942550021589893378306398041274720101141212816764465867275802420221544255271703416464939482359703191987902516960928376756509089758531569402480728047248827661693068386525963500855722478242458505391218507171955784054294197926554311244424586375987082124356980133936007782324439535165571641078483551714887720146044866314461702707478588558203573185815792074225893003625946306596472545515660452355058837855979134398487100329919129210515684631995725941861910526986437505195175213630121118086923569622463400892526252725379069298874358794113322709681894539334205951981978498902836875283183865828354103751897606865005463321324356547184733385196961995832697643186549053762332007225456677516432465502615027475342512492226001893389119490383617937829659790235641667626825253515852136489398302123306882299525215986614126136448815454786946218857610985839223850741828621191755096784949107380538457171431832669838586227825222975940155201383783090450949747710036279064426981086570829377604028513058164451125661221430218243398624895837915570273667570083257216205730893611989672842106493583078604873583828497848923169291044186115393965854277169911190040610527189827691221488720023459941571197994843695308628262460518949416542844699941201827594694566603013732188649445320546495555604478978992763106276019613628991924335459349514823672680768790723943211726163973394788218349644282067258478796749993146612761306638322906557099094622979033243967122009136262081259635688171591864767210054416282384041205661779357156611580470954175161790657602376001419088827635172371535802656269784272387935512067651652410927586361871302018274536731852857980641868166468700760821062584767119501908404874637881637199080619647866566528178497042064475945138450917301786167858472570348980224857926849234643757791418188150913500365600731114117727665724672369503412332943272654198315957779363637411808428375490014771426020461279886103842100002946959615259455552431004594986523586752250295107045842423029947720728864675647880446185466700912244836154086388494753519243762237971261661459362119096305231797653276522493990829549312551235199058946695601016906132640023573303387269925879416139134190513037871166330105880095670434883634787186581214315195385820721434791990347350892710798276872334266183953451700430063802484999241185600955457771469338204099581040385746366798564419710400454684439828683926848373109890511352293841794747509884396128464411088304260141489213774433549236628829289817850384699119610932477736341859006898618508581094595865542378955017824034063716755156776767584151131118513297970278055393412758918427177981901435028303128589096821357389626205068077341148165154930901480440352809993213325671221458186530596882667839804125873027887426970689500582288663154459144758307418567183408316883882210896934065975323230644686753993302318811754711469439587967783320380816585010586089868349452376508154440511601028492502745027001157497476488660074290471838648357241906027584279898739291910044012727767206726508500211583237563490338562994264325986056950915798663217665899723100581676275378675199401904981907942089635802115681955590736289206821509402694444752228149426745254395658057034363079411181003184662066904429155125155989039856493997955378581179205312041623422117352848933896572480109139806467312411576684876309827838404408794341370980418599924642184801215779191955519586273797488877311182096397492336517236162438829881467713056859986522408492583468777576080183173162738786121908337634683577469391558800399111101132562755302668490353658604464293023475121032132485224550005384696729590197173467146456271239219370169381242096296409742679174361520252624145962944080773668427118830014575329879736899270281720690956760774106520296450334288260752744436681946185652786996270906840017935254497869018392518550221720416535471279872138071045010136045951204623644598295580140808392457856896023379683504077955647688103204572522010429729708801722267243563936207504452231013291499824059638214126577947957952305651026949787153457096389596614923843384826322071705932865479369535072190748621690795506956166198612060099725303167331047350455596488115856583226327391633433758298573040456591275740581605373982423622290906212018182856861175865594177283881286020522998722055704805079535043503966793887100031987796036859373901573813281521769169599961156665846162469728181913409243377318410615211630610337566554547761788583570287068191231303942322277299041372201320443829042117257166864884527851978244105248424676651437358033590600548013794897943495000656501074687918102487716351204873339645796479556284812644364740278528696946801070313268155832399544737196641212182267280961646628572079911601209984228155418235330218246108684548791156231152379255688922716827182720001181197475470201684624841529724688253694198642988800484402616552176499328382906510622214297654973453337538653798828713740804056821610284359603951997668313107233671120558830256874598934879899112943259614808065752378943971924598684357634640871274369134176629779884673851604026174269727724182033849369955205945435791614610475511754920084781863466379426772315908644892118119967730902122139890823058829468206437635132955026884929445880148942854240951335032417432492179940380256716358050154611698946147087211256096022628600976345191340407429821403855777235190635169251474986287393657587157974166796870393708635262586751916437060309849125392883417834688431333116556791765434730746867294296287709367557533444775068250716346985423617232140994784303685974645205221492871866314881260600728323015748514879273185908546693696227993290399093095187050084922517973051800313819559364250516503136158602011840887776235646102642945038570557094927414092924840628472075794327807553633121551913500078656363433342431950015107869283831077915206491078518832106855142435706988413415568403805062077705299878009303338403901355807891280679779744834775363657455833884446221778602124995680556926022501991888172029773082259730272820591516148095097940481758259706586462458505713181561389563591889093915529668481445884058542273167039627041208574049034078427146363232394872883451265531320017902255738819877987194114305953628016216592061108251178488980898140220740929334892307300360476543272113480846120217627388648433872955587751253489270456378845800898563109343665318668385248391183799352211424909096613588423626418572082374226522779768924759671699849132985684680470650012686433238635033415900494178482537494804727822364231763818327889194894183518307692974539870862734958907436717495503209595995274209954603984225659578816828499524708255948047937312439130101125701112249280124517708661179578869830349062132005899860900904777797179973487310808275908451896318501133017886429907867282518078634970490882997549998759717470606526161602560230948224264456008007895846133759835183623073463183691209945099655542770700186451621403922990486978864878025889958078412669536456442764336372973432277480098503101641259031203516500298220324033190045485691880144096229072641845952494672993307775585989921801528686523452318460929445029976696401939739786769217957529017145276966077617713988605342613928308197598200137468998057076362709550084974806877963345486183590819492029994642820235671603133324077882176241311880124185885861778814812408311687529919209772082564030699573065127800221073953648864685766841273989945262744139740944300478031393505632937690933799157324384159494180545797722438381145923291059045897764922875278847110082495106821963409357280894601979362127985332976694405621698764750605855883158427764716163745669693596155582549861752451182711639620481761291622552895075062911813903875088427384495995003920961623935648390584233704962984467914423774246173934854205863300729537807874430839620224613489501102813105382359015925971157745030225508261325549208830679932181648112268403257145445589380307765137024135204506047604980230015438474011602957219663700746068875206657982898257879699213732159353322316491233368155489107376040507678553689016337376031665207942274584778074336842496771242806103626329488510032799898620917069008787545001751846478191404810832912287623982829516171552726113005073357215662246121392223393861622380396079572474197143093484374576736397268046130004955642441216297591308721601004202917541602093854486958685844604785435269610290485368244047901577628718174028237554816923498043337575307611050595045073691165140423845583728059695492455106699106316224731691806020861843195841039160079729662360669064101414173380295517678016800674815551910816586380768968938773821671766362977757552573512655851754108788796252583933719038985696972845355057163089067540059033394268303513195449674129270931588762101886096486138739004866506737655047237932086020047963568707699272633498833701159218030785438327217154378722264563885654673692822648016662575707286082795156175102494075162680519264370431799498017239300783157607445804301594388324331612001168858691084795538452879948636479206537750573457202251550741764288449681134307848386353145162801568932145345767964411473982918633651039721839407844893175540971817706057408192549232451355415529932358073162305951591588310102718454154049655495245168680949494618697427909544157769969328516904142392926365625447116847712656766497178298610901151737943815530613731574899854310150751409492037330660573599378835852701363008174086959393918605630936192446747260650120519844673273306535560256585605334722795718470050532514439628265736171551199445883181790337994934333011829939070249641714324793938360358123207307498405787403673019924243162653916669057823326473769429073211576961837777254629917959111448154818621947385561126101011423799231357130941793360078002353735331057781098725665217978007362781602746940564610503698674480275130926391469393055145338032319372824696163319871169664939494266974407026680702637127440061490461325153160677646759009486999847415930198195034395980754465842897831195680814297480659688100624098359234387880124994264744375753089726154917830883530103386250760564570467952643759410840033857806132899896658291124660277133403720851415373905096526503509764380654249243499380485838907973935547926750043840594525698096516489299248275151303559023860247440137518395476093179702893560831340952232940278772892614723776358298339833267577627173256396184719035111147294297393016520807193762176137517189390150851124624620483518391819412127897494628023390195695183161824222765736606573675223352250182471457452068483680732917892613441337426401065960798944682964936926311615121643488108010483542571134489533205192193384803382984286660941951919252834239333582229042443873442823881343046581080560746717997069029417031287889795567417373544369056287323981488092962663872014046778086302838898094804228302782007855700567332596430964199366499616727622089126172202024584914739248307732100731117211888145271999262907623395293946306172715018048725240851362993368298371639812012691213239078350063743480849404227753819173469107272980300321324350980795534326275035267869444727584029416800788372380894763222043632780537014658628988633659462720857520740995830592959893106238897208923179743837926410203991980496448591979610591898245145032898702947371375757366317899837364212956286795647062348420967337600123766233365734594384849899407316199136731167810717430668446930584749851304519727561097142850176544384556571719222858942558623838817484800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top