4563711231323925873984292671602487121330230233235914876055403483442984820148229055368609300439553877582544414627655539977520942664751693402488062799591391890172860245435511346733500306794025934419250608663830473323559525435905159113713237837993307329540002948309206043614601703716225631390560247118757997485433701128679562969674642306250952099014659648607079891002645763651311381853034203131111450532721866058950982769573909935424752631594162037636162221899421077679344632653919006497484826575747095169011726439592365851366614990284752031456726149187998060779393667309382937684175762516829696628764605950821011983224883012562582768992600361905077025241324931942897077006904597565587378483360102096384455333569218796123973267644033490281579895717990765315310810194163522957841486337836227175686156561472617615806742073049225551533016242360864241276346827583688175782963207561118153223439688759559192076595247008186729806252220271530846523798370173597788221988545256890329695636586261602546627933645579853441252184828531401217478286706732599001872874948182749662281607530407739250326596375151058922201013504687208031594475145598304519089779301473685212579854302569852319152047437483889242981193064421852628764440912304848624405501563596289739942757717837651631349059201766161786890254072129765185560807687446356201411598959399207341657504065356050388236355514716026661019306389572578358395624963395342576065023632318288088111374487450281825793410111900500587172070648759100820408626476146511932265386996335062348864236147056552677808288059452419164477847449525595806525168385512331434378418143969092251309749216980849234752835832621840656627372116512033034364342094388005660287322798128496011390950475799479380262669527347393964905447300952948389433172816333122868212104958192754519612990829349651162552110276875179202004045125277012379898049636683131758226302062392623185505288349468322306970911899899735961165286559384168572640233911840896000853623122278115181039871535097334911630279566624641444626599004304544259270091786748119353664950973479911129063404399359640737375656104816701451920125452453363502922838186884011061294821520457494560989357544538069814405045912080162509930200334169571708843086739949199462978966179057574390543152397115054816566756328601944160164921533952673592727423750565336397533346867756313174859787830823772579761810390794058082291806035418865566437129927557173291034850339000308255363278466259857218623845177807550019417229457043427843708922060291732398947113241611324594190798845029269762042190325977177848814411783262846262154297600416684585494891923178462685593101161714658405546383690035974938242099180882842159043895134598010576960683780412028641468220829630773523831053588465694469673167010828378897194479356827124469061659585297847366177360321181216400722408585498655397886385808155153897799415028843552708321176314082897627983273265931189147243202087857903150248101142112553000221782694284976553478876951572221837053368584662642893801161474172027155718164048333766165053090334114355849122650550885146897932811428426499246971128917448692352445556808496087397855778887641617434303012417005371345614861485094791211733403788830014906616913429280311186829970958317836192271908996713302587333071331592448073446304137677354925382829244456591008679702350062482284405413568956293825361266949752158251651523553096474556996896760594794182868437274464618477594638023617094226334737111731085560160543992423709574220278432660651341767301126034451349046580583381598141568598971905180335352783585491245627682398724285112188408695896224554038014623472751308351721746537642215888872551685801398823218307819832936093798599751313522132383856283624986287126519771805690057421257085141325436005272521913169535837720709561582118063601475973735229394026151005876587509901545479258955004325122945116693633157362744045881106936280328133440170902875768121011748257314318556838608970611495006168928917512135864331328424812375752672026094809649279227821605748662831714239262342257364716216927758635628938536966088765670291877372364003670549297559091722680797206638202391439401668610658135630043361013218461905183944521339595105454341297764014893526263565374571862435395027376641672831847697007482562944212844938800053270894416428676117404873474938294226785417073193476407988717918164132231146133392772758033840640062809357405621423718950044887432768538246228116989386870395711699241560386931933550037538017676728202242872322609453682938162144607782189937716027332508372551125290380957813587864439870199901358474319572872578320816609931784360219714317746452419893790278244871144268144658744771720449494497603464122154525300010969214257503879438525526971685742336478523814462600345385700646722199419137348501150394972087050173239644614434316413735839174201099119018252101354893179740573973034068539738742128459604237497923438338336231523352845813064883597054148771804019830767777957653750980316018410098833688755160003742075392937716541965795927363224595557542413602925273381342977459172082478624741581218132115032311360181267933751571429638035141411438502593628939863444920570076906766777621375681784710161085755902997331845500387555143330252970357643934555951531033714920102256431271389540758837819117951867357203307310431956284167160161483711202163874138917471934383140762484004800507998866155174598387848314829638887252713634278483814020990465201984823348578383363404380925801715642165854304480694027700412281002524188120408069590652747190434449188385332993900396700342826651685138830466257421362345360935062150465384061459237775766590781236601412244514557046580052190471913142158023772164479870617348696485423881022233067007221267143435039210024793503946192821742862247701819104625297589286952746761874826354634369632061040873838893495930779230624310644278956022085880797134308913527766770338330875047914489504219348893942760232069371531230934277593077627154067193848781785853187349804308279479870932406062742483498209342479605006459824353336193069652544545315550031870483140750104989602271754598868320000536005443243449321063144305867915409990449624313526094725949439019575300544651682749428796631043263396985134919908718474538218910724844232652130835406857467694747330040712745285193422917926141652919334330784441896009944383822047512071130600232820743380846318662693402355866395024336616515962901447785721467875532073638060228399233182916912421151059730160009030975271278329283411032178271163790094429779708422846979487386835556615082474024907103906694710318156183479825518370215622871626402634798115273306414009258580297769359189405203656950409903895632416601028104383295214379735060177501634231465645878718895304909923360901658430206917302058226526654029112894390692688182469391030771804650309127687321034147337577550408777989683823929084137640731354489872729142462002185455099944168084316972577362158338241136539847405961676405066641475650418131730816312221960334161888551598956422274189706719105283691441638285017754766549196141480743572258679072575124109472104764481517477226839286232907183434982907031365045937346098323634030704953299746970141420698527303432423353798834641365768038153811893148727799695839799945360778183169681035783444348028783935995285220906461498812804437405230166073265231870941219536081258866955689622397144089548419117060391368017826154901410052713599905998984717825150611205136214314251908218268989485250635593028400532878090871995389051422711170324025800486006900454758297741539762179503115529668323069610373495286282874690879907272393472266472554226885857324446494924215057760398834320887323337756164281996795942164308177711603345130767186632016062182937924298888793675651365616320601955647045491292176647869784419019611225366941475629529272461826738707178109550426531956404708286539695001497175857214306072631255748734077755421986464181098003425449048431103613461861389065630229747246497566467573000128102050509354213100629853472990070061055578304259594942929585617755268839130585030357177122880091754186206668334448017596533889975577801813959481105424534979785712787260856605296828567474879857502239946683723987476955497724033416728425876303240153814114704049073242153338262000842790300762171037501415755552113180505019969738413167314847113078990142768284908907684739755415176528871683875479561567832367743939782383545853241661826671410452889368458398527710093137912863522021694473297610925027709104609814156160184801083511246882619861574654148392445289861439109046428766451341106950202415902404602676000890766230943046923456828116464210589364664426888665160234993269729689597932230895851072484789658593755138814072558363794802272426786218482263713148988843488484851431423664133097788276247500967095731243339376677510193389769103132357684556837713976721263633374607228974702223712504105299598792576451816888230206757878879307479675257020861201533572353468566345774785484823260518268047797988736091768201596148437663435437928848808128549199477962502110605851332866391255580192959178752909702441587920968567268859367612921922898383135379327862690211549919083568588546847560644229109824222574751828014586101715027046948378801075552958941845719038366613083464009065566091995087163922078582632086694156877056491176185733586142503037061511880958470995385038024178083103149066514744588906220338103595369900677349268435230105955935642511917736912850723523531139915976904015457082462154350096276369014609750205040441982751724395768539601324191182479649934599924917565631758362646631527428976533004907752657677141289224017537511937646229068384634170427482791565941364316162580012354023371872545094684206123022062724681776925531858946757785282818052212856843498884354830131385624984835652539303946983431725329038446101030295739447489924336092044487596679797579863442926754095090077541152961579478969303856372252584443228475645763038896309884637427820386037465025863345878157074795440417687275560202660960047169851524223309339569909637793549982688905261218946312893799200736067547441686506719277282119539200132056157003997842879671213503393738031147261984211295939595868256838527491764947088177937024795980803697921308306236596356368079689576127245599562111911997533285742376198894151080514600146230391633573491998606336970815572729114983903224984270448308423142037960718902567714626450689526585422371497695733993678187456697677125779317391741062641449317710289071389725631936487640663980447411396505892004215650193722617830420299961347377176413492543796805478443060475052756657615123983309310587164989749834466629547295861218669345748578287910128735103166664130464434131583795066866518391483641093802526380664689644519540557216455540139870041457858247209962856734000213085611691137469582403076221319822047804806273888082017592452114397989701500675290068328667341991599442491321349983881298740085127339587390469359389206197091766909409020999983080022210039751632930777590848212473388299684763857267006620415181681546289977647286031887461890176892536169820980851384822873788768704560629848746691722733790179051248782491292683392656133270531928712035368437751652558000791168184655222576328935775684343728103943949184835986375392414651860010982863187426950776757419145751041288833874652594236367518843962075186718765134261696921538342534403343180071047367928975573474457603948364849806183318398111099640291864201233466415096087267202491840583099408309697146740588208805231092674429443929457686764054940954319429263903011017004432714776455291214155108336291864730339744690250543374415878808184474255521594355560130055878181785836938583883655413326025065137377314614605534712986358074487316100205750440935123692566423516623770524543478429519215410485074827952942043161964339903258538285803712149201835032080059699564754574373748647946887391679951048681583072452270940139241197295145867068317571914463220299280920167467614434703871640276951384680623175319918168253976957231420884812068400301225484121856276717484363944584227342799832805029919404001330870410822809684143857331644215860411505625474777989851271804234433270846027519067331516348984361672781078397712646457479654476293061064462483312383398972135196728628550469667822192691256517136526512578456003194210713362097356851674262873529522485921503916385914309669814208151813276473566622830273061257680584324221565329935840744751235770377587605700876800407895472125882935085120288960554319277439556539901799251265972973795364830500992817875371801129678370693962024355815741751365712583374379523101991881962553215840672873214986478396854171443423172565236827673793001462842429198192706463451362525414137114528661890782079862693694891478086133815221180051109356901246342217531157722601812649090559783815449046708928248947110291574783914689612557788109425024667801749516894265960432095240397796514863628792307953646229804837929433067292837527344128741373543657707751134135293640109180472200942288612724304736786488916301680335590724736576683412239740615561573916326755347653820253921127386043623729384746968773387762154614657566610290509800156286898976635665426107027765686240685767337534567978253046820452651248370941038583397026854995044546368654635425909315261705661391442953171245092023042256230674888514092322172788459769528891094125215563010523783067599230047897369066445839479344385727443584556854319397304258105531792499694240655312198249722089967505509412686663048463685458949389163816458251759683584225244296020563057827874515673064850045021741073336476193323322353565841745125363840277153803670340929666001778943010717912994862707258397367999560408526422020426596695247644769569432517566836661693685418847934073667032077896849231540592164772203760961483871654857915158598105929883263221284888908643078650779729855685799859885695945492200063528599091197839469458132045639418178586304009728824772316660731492221640516220774649804956862065856972714785644966738428862435512194104714693750117224340160928362479845196008804592815946789917917670712786631016741148917890562001555175086072043745291986595447368036606680257119730241375307803935041119518666509491716651172109982891576827266535602756979336862340480220921195452316368393668913468556548359831786049720651594183232852773439128705131660527367707677751364219500461066980148424516914405282082981057399987495486274508469269132566632551632553582778925311444535551983342273534377347502959840677718765888791570195988280544175407325764983653517491815625966217011694428758520358891646325400562724572495095222211039311571908646087792702998451068352682229377966247751864914872044077864038548950280549710604382930555211736966118053129086233722089733630990618703387737911260715609175484176789544367811074408549645930742929855349031985699007511475242594284393579229468718532362315589849456461267374922484943306756950667931510822514097095244360428032014491578563003019785979435724828730788830571242600158592954453203659271141740635915141879885488113484770242841902420185150843112548311900220693763801494189744962749733776205493648556935894306515948753431290477967991748792594090593123723575753162785173573134547264985725879221339401779198673547740434635242699239435766905619826388607747299339164934854182639449206517197811709612546799115394961213151781705954044865086711239430524654932523794597516156776297225653044308662824357961008849381091255278876109970111850639010351293334201018540254770361801216980268119287472590181226664504008231156337273725054126791944755953468190753678690516188377208231682646022637764810234893484046306280825570418772792147251312313982918738316398594727438247202466330134002525639719385853692764914350776005002945669654022913584072300547641320393804412025837987627497625279000365999224479523865298833038978879783065046325849662050401927118032343146108502347283364862181789448828098879166800867168613319982723666921258028053815579095255653970777565386777264538662945491609347780001137436054426130418938173746057247129565239616562960911783628332499122895618423048844888355066902761651005928340238676867457934774633879776385360668257562595629207171955901861202460897062904341996524808316871295280612211216509815108439679953033344998530001530765292047618855410049853246632804678536176588214512111788211137507016766282278980454468792471952226244511849255769346070917002438720610464763521588719272267026058003706395243622636066253163894779040966812514482655795934287430461966763365632035452534673625688978073357285558625349621443230352532298838395952849792932785634333465724961043069852817164891915946789775035186535710313755607263305783086176420957579395456391307673738876178598345758467662246557985157656893146732897384003506079403138644024445906202974925510502545161520692773423802020249307943852573419523839381759674509442124015609915121146214984311519078293892061071723725233395306139210751561169754214166915835644456231556631565360910749554216473464360149319467133698203295520776103766969321241813001987722806662217783695819975639993420543484991752989817764335037811754693982265377988817667905897649591095001193795563928902820969093406697511771481125397712922630824898063769934057152338541070199584724858405316782991627138607036184034744292756910925692382717270663680586348313271870872590554902103008798650335813224958198219701028663454067078748275859786935692786584351713973259719371480432055373450872130560733407481760533448482731458710969058045288402538951311937656127407555597031590002077598510548102546157169281987969936215345321853859728925879895143319957937980208547128540440934073753215576684586140798413708203553912765203339757685641941445553566119859785845802168151131655048505449889994603052398437531733529647856547759691902340526565228350819995935683176382755412841652623799141796866450965294893652052704064600068708117315451423812106484841890744341221814503573121384357414698081531822372082516885614670794959093913255371559818596867059142575854084526429858239677916025594813639451357260662539812285688446198874507881237095754834189737326979820989558480409460832301194040625672990918940516219694829752287499684528863539933484829151363194495562704332150833480803093658223862491052225663969669200363902108750072164826328871616041337619086613620546412104516639667363260335291931932868374617126920915734150009877749495329022359374133322496708244450941559834136930050577416009408728645012006988756767116289703492236678477451027519972948850662817266556306025477761284492905003416541555790739033491999334083105941681072231245588345033096596170573353184117057627537029541246036207420155638456262962044208307656546822926359731750819849813620824362912614763258622572597264628156774693919341212891834822930804647305689486025830106062495825335716973979581703649775039621673601911328514906913753495044607039481327580781358196480306525364239917899571243697668054671057083384717319265878854342618658892696913889830621168384454926632538935764763999008788732453554407377658742685265047234167260445759084540911961393834678570028143400303681679033734362772186626943545611996820250081115681494475803652357349492480486580038648542595402234356136450677726884642440911843634727418913475182868620799698014904491883908192941336880844545649993970440230720025787867053525106206518994212238333379527704288162695731211549866496384534939456155101567135666435486667628618906387315828900761423709134049170978636814548561658847870613588758941773563783823133252548074683749996025186606565700741183750177572240988504779344145871578441923983339013007450584789682727752611424545382205756807454547099201708957133625149495363262068228241888827835765077614923536686646409188297854588224854972379509142868866757679176024320281917864356299799485164706534217790081753165143170208326683609080144663672619018049847132583648995597084055340660230553234145453082161037138812974475484264244043075430848268724202631685829307272924999759351286743036678515306735301225917752777820629072074891577084982857016098596257297549215817277044618492143602918223165719885330211822120195812765150484500001152836637908931641331610978737793880690453194097190295256573563483130141437259668788610697465822343931617331503808783341491059840638793289808150018169681299709637464876235443999518822116458374195309974622055649336949885600716493344386084326992260198526997289131371115206094135343971504325270146720748955803779106782148914270474140388330928327826003826633778093428769558732002229934548043951805345843574391400400756180577078021606305708469045233834611309135100319477744110453073974530309346158389574154265502623724916597967482001451424189558377736442483052887375006256361375119412173160582183395038689643178547134822325912231557833497681718766800671171326195449947028393477061195320927147148472723866363964801870250722542946665557782875348884294626298222509759273975268490364626070405118682599497988216129179053543270502868310096835670636987392536212264276840531939852809723008630700680922372400295049823292176421815579826533545418662891671880562178573494421976438115344742695107895571286233335298008878374107076072617666906580439267673791915261979612271685660520945242574450046330983217768168006922424522936981583159643193364671050944292423038333064191202655591157868553666340680816889930811834806545194188061616076856688944034941469577491812331970098770567378071150430630465015395376696382195070624056531574917395243335198725856741352479165652104262581453957256938952874537582632236536188392197996702931285853603444758515258688947526464165333042821799093255181645415350565648333025400095092634196466048713060274939302820914131423805224066305257571354602389313567027408070477144613106252389560558355785917502177595154982968279219834861478308100025875517849706607677298050176102759555575135678393747347087048726208129362509549179906055845701138610947748298641607909052534697109945452428728520885243729946349573794563723615935102794239881930837544755976485716481955468546821278077438545214338167421973362247615107486974783875558708233336109210781037589780577944458279559915676741808621873405180195987182333991060974085203258872727259955637026709453757389860848616009584207648116067133746075285919639375902296569181469332100483001740220367557682274142272309631413824811426148029593768763603936699643221122947145536596098222411205155674633984436807827050444274896964061598910624400407361063155690312017359281126863074371495668496051180330935608109597292261655580506003850973507014773928591353331998567294387020843783630010133253941029901478922973803611955560972748420343839684463088990845449757652426528752831019278343129572171054335685204339960102444458667495217755508483247819209980939480072190747087769226588491377138094995210806078144984404278993511791760643360182993627911099792329997462037902138087765331159099175952447915896082658403337562457709378118945274463456865588821854920573630330009321264853308886258963354999061167644969694276145302543216263570020069071328609564207236172227309228546369410413972466142495084718549038038438628543373023882252217043694164621062982049513764428203031210784308724024244441440999515488385715543800037822761232570042371827913958880187049419388058129731907662005522896391284823881167225565533986575173626099118402099200604073893886430051798570100114698329171596379811890886503995150745320712123123694059354106971419919132632033053658893569747124053287284399099297506481435574541932037764694281793794485591833000532244521042605190664951681251828249299291012316753924556095175090102045929361550068241629771199817781706847681660814418438619693970531009430650975004522966558870581901643788128465689153126014221948058819510995319740117066428018679057021919560477286710599477792195299842947776008148182875140460662536349199453965043129609582633426181588173603821117351262058661397608186457475160035810238456007905400056967249521418568179125947047757564033257205264882530795825470433192253684334893444875396599851929358373674234249362347540628400894404319756748298481406381292903979952790587638820063213124649919199327504377870915119901301876452219403644714416944644884779790885414388371386124516546593238715139460828485552357814826071327540563632660352993312732183327446539902319382218693740117322764229979972199231279665643920463802685720288886773047799627962451937927369950784108352653385175849360017837892749898991635944800835981743550994553398840001336973514052369299751554183395550456254047193737404883418653233749353335973907401297984954200578737751486271728598078113754851179475006538734771673978383653224793117373311844932729468885413057616724523636203676426694766660904853200100477481726334803035659163154882823799267488165041275149850523942189038877867558386370087761266047778421481270098809856334686062650105803196123185213252492206571969900500464578160333902779701292359456582216505076150089459791381486887602531658197966965864163799627216840401134986664085674818081022310387397664242544883301987648555420368561075061600428064008212387572844949854606184859302160619419901363732090053682099839296115938574772841579577920979366492102210185080405276453490203730760557223346933531734392221004879704596329548433812664376316554082707352648043335772850227879970631977531638640001559871031542894905127408325357067239592020487965350729063502356666446633596127922610710950931601310514005128062485048609773319063637270434639782196160373226511395542642254628061575643752240306376908509689099082794486287247035033855788213687849990393245903853228194619682219932721868604763762528267705880247881015011244991195817317719822118592840517532055005340899210006404552190007175656698390585408507064590291504020495444005043006894928379046546477420388625345667205453226632687976757774161850207133961341820475077765927765877134199647262019988696698334821301751216300880067851015108043916202962324557636516364254997485873342966647859879989243871558136518594896058514462065380173737059409975287149180168121539294558495252152355368417303152636123200328709676464263210305287640060209200107137901637499770533793194316749843240050743645968564237345580293648034377117876469630322297108227783177438712642240909803424778884781435384973015599320375056274577982835314426708217103282243605777587609710046938986787754719371126189574981010498886449477380857124905216119020735468530458875430569415408968635259606600120818636085074467311642366338845414305340073239448392995579975662118009718342674450158559448110906313532383576999369205983101356898013519849479242714576890591169555523472516743022955792598270084810839044389506189917723546249114835050411551861915277821444957448465728521798861724795617199812100260624764406745729406391569224173390803551574560465767862763976465228474608876862426063879810320341988365659927841726307452589402498777307366087261671228377765637318287844826379045361957818439582097003054078279776715777666768463892065974560126051665001882386329236281955033048063153707000349567114672840935312222934001574635062519105702480631901978257436433078205546581888099098943122761837575971838221397441720923219851464870608345257674302502951565300783332355075245691203081296727064182475203813480197239992541420988792493989753336452437966517106837781049621610684187254429813473304144356977286787739945431597802644620492685270655408091149724479445202441872885938814402574544337995790994994277242217123421268588733227247793042797151291669889596801757645026633601836279285346801318786681143364442878068956202213821936587441410668468118889678350071348873197376358415554810602725645117557746054631760048518831563171640257378630753344208958997678931429269759507085524553635903252377270189681210623545955681779552742178400013132184594918050926146444310641757910128421080496967434993371614476804698701157111068619446314957001806964769173657736450879168256458597619012613288939085761890872279756237979012343898606438759025026777350135738118639902142584109903608967843923661357467589317455993775904358276940345500419397780983779120928110366303380320052728333460222232441895806132466969681426542418359431585554411854665299035683847076427389633797663717978123495038383372702118546119976908923493194512340026900596265069566938587563553869926063509351720180473999105277448034310649441740213853252056807616083676874516294899343089781289801790827348292755892105476565866711275742526402273864726835038129744496401058875230827003525880437261804336882279175848784887906045663788395391336316174060062335579629405499979800126070477284944178669272003713575251853597461947838254911221882557464539484769795147851492100182000973974613692451753716253156310021959756890688946371038385279966797861355274174526255857531915340974623640710505409698226632780155061729674722237354205032335487594900518224884803247149433194925646957091284906872887243645922547238968135573697537472856806248227737112609925463923836763315288296984892128058496652978527374078855579276453997439081401562224110585066319689678297353943785526143589734982024605968241572309286267519297645920304647289215609267855540732031650420710578191584615823061828916038090353226291790839254660973376487993242654664436974836936918604958539886209245294559688421304779037877251884107040261570536127223863415412200869518203569602667082602305646441227428228782212907975547010977281561413595341834950701263139211851118141853564032831497268316017691602448841136375536628831030687180454689185247089870534971206062435878889183549789003104448313222982694770264698296059581706692070802320042500952015160027669844273075755081007521148068575221773166145832980426542008641217352917548178898815971437910205741850893892833108191819618930072217124182934553478250787648271450458771868234946999737812452492510437768116611718171749910629726888920340902492597126847899329729534502615951141578462206606088517236815008938719881228801402357447958408884742884798908688923279496369901169848875238689295154394684416397930524487902854272130972172424763839506890024672459686476534554052163405200087518739444174713366271818636756646761647242324024095901402650874357573292331065126190153035202311721451710159744906411320894480094592791020839289212672377068939229220397428649408626668818336461644243783656994714713230889836182966850600297085640562625723631510064048579164825370054828807507840121315503779652481341667304823656712626958256498031967639634997883411133096334737102264754624247691017839341318989524896418522272076165625529874148256473272670432883900297926528427076525273630501860182098165734960887175526743747770286252211920518003540042294622656437016766071066190145391759926000349002839666571425167312332078090355458816361693987971904509244142547579920941451362867975176607760369283390362988983128665246997097442387928275454993913528710606795978772692210693592206636199127195194220203534060598424901060542754704624793670436065132447856768348823218035604730993429237003358185784400930943774148568066082947588231406061767298679774926067371742628919123151599048960926677753318220767751877127006270692351415227527899975100473192872728977486317195525548733408538915893818126747061442449709511792456207837181326864012062418281443644685068816586357117489721145997440400057080605531598036164633184962044435222118540536506237527178997845110102745256701662101274191069592395199623525020613460005322698384009025916417462126425940655975649684910205664771422618327462900572788806228306670853654023232601990106798370537073119102898961891021925358642852985433715706818798019407469005181851341781555928398671898127943230487732903121254393874506431091837831901791753014559039246861617901267507995932050476705327577219528160018979503546152917559263458523078381957126575279829057239165411945273422245466669086133160111293755270950013816638985980050005355491794334667932033131307843287903623804927488471956408503789728436077846453192012756336664710426997165023834394270969373951739307839852246312246418853360508546296449864107206401863539900627045140493635281558025864873030163979260137143488715054386594395112217681464064118556132927230300159233973729779842555012139202204185003042014140840320213676452667086604641938664143697100681258387385357759413854337422505092247301691708417668163091539470113997014044626881915565116668125256999637683841471393188704622138871951999557253107162482670123166960476419069260196286614034155753153120730307006645066181821754450032993842485047907079602195319785247883835759831142912507348789158927276441202788703176884786727643815835577150113567420744484355347857180236929826254839915668581798053488544476605530630634378329313485154450851355427979759937905017243440125710181205430309420520346827646431459395741804137447882567318947656689185211766499675962870344827065975951351631334234982295037130443204574392549231948040404105843455046317048433379277081903168375701472278515074343556944274495559841461499162237168783838288415664880693203220972431023418698988977837655048084768585643271745407531534571537444634605986569167167702768169757596731624126224218931693542303864344177487204935908558074446894126245363309932651005621470404565886706602766864046189195949324080852012531185275865058241992133182969316967749978907037580514483538926042681031762739993035824627854000451973583393149200022145669447996815438228157713779879137285181128315146077111084810152821248773767810647490015961127251930324638698051672694470842704658066878088283386279572340268264424536956946387675779793700942040306926300032036175891445332568885846256867116614498511283382377919271474605027125750458600702668298705094295701847835671477528754184227348801599663248601237593209441379171422522068224982290367831469863015786348925198310422696705567822131531070534473042753966418365177324016751892153758586826691830903510473841580557358333075110556526400986973179794957379121319252013785188125578629575300602097997846916570799666008060171384142664873106710284754530004063917566042583408605806065894671118700768173672252275436372665834190812518894951486907851166564551947183504892660387615906953946565686992059000738649994628899548547696332373522855652497801632674211756369044381407692969889853151970512752828906318908283992524745884537992066478602713257033235782747083898947536088641624522807433192382746728305532072811594252861512140990351310515853336875577409358633848554661943529836731766160998672608880441557651782894259019343460575358323001369436353998980598724184512917087915546398664027149305540527335644107111837843108283092227808062286712445151557400329560357280962927619517541569170469371714077242598144212721521827795194363473240991422594111654687304944524167566132667171216073004168505241041830137635706201112575289207920744679788766456290107222731498340205660801004162665206351968603606588056663520285907306963497400330160996684771851878705957252617111818149022424741849087490075305868068067119108146264078744635214750529013981596181428611395732466156832485581638872471286500337510951778787859499313116868980615284115672183220674855185641682496647142999025128963704351558859005669466628761878480350729402469042647159812130269260788824162710611874848540098452127619669321306893980214341421484638919827727109591989361257521803881723620627316690498716929935416624236829096525553842609232759045073913819896281141352843516613147917029588094643377879283247295071465734828666306582474475753908075499911777020225622866536982285578629434168327894254225487002025362715511198600072407130547296755412276715494290911275440320189876786765400219428100907981230932818683688936238570801273340857874781390583072309758686990855709579822981552382430175309794582560263735395505739461275703759661057440835390442891260651162392692938678963797813941951214412293311437455394733391736876453889359950280834751682516949693799787684024021675171004890353709470206627522125373148908462222558226627094619335168898122604525076816145329525638216367619062539942312162616196913022705457077108078552655311788821916186083186242209462960799204021064926095113992361526874695125808441937245694274195221464647998875866537624805993342419826381639514145994168368951524284365733361761642715992745635805893081235365084647375718367287291353829615613430526191692517427503742614406792598949561140008837904965163836787575148727914979617444957096518467001978843306575724244572024202150944677586911575226317602776350075712944909699491225910715058046461895975106184490060940480059389704382723578871297490313304589130515288450951179016187806885778946243042498132790928682745482692881793760211912626593218703651868586699333843458503482151871467644850970091133273124182391539055272707669003086309856851599379272808341428876916972337332383832285093485840505382164660328994961065937987628967265542693508445453927841203743688363076283630126237530162054119508341352735000402253791274043918491504947983482571081378388815730879698146688408418819469820564275785618916771524706454184901353448422113031753011709099536073901763276165223007292866527403927442065268181062343702437021434772243757396909898490219713578691626401100722257100943214916873776523154594372734041191288236738792599910975145259797079526183850400975761995540617367631063273151376181719987579670481318365448900049909990073974440355483923907016742543817151903367125469505566237473438697015278761260903260219116163189074611820957871368157212322477807862820628426860274257914823313208071794088107390061955121659271367144113790977145728269276071738164355826126354771358800638236221542191565589798689243164990522317362852364195354789669440357528055288153363511413839685015844056453997284548626327835462385084107917838649040149003690360834505417502644914076580483171732653503913219992560528579010659846275318978847015854924296390800531420265912287492911768807271343997410676279687809988350242926335895243874431746967551774476894041020249802740029016881494837126891350176389977836671731840739001344653112490236469649510075236147677501475730529915386715375053577691408218795804459561760399336548890018214240054200682988868169204990696251260902701429968955732479796527533249403238774662930956861708754887028053137062404527285856434256430405689273272170841660130317115722850541103745630895151937482126646364555518827843477184873533098164610143453492904431550956347080622799017472392853798361593333123363995293084734801504240417160427635984117423441872126025506985630298778488860627773251225192229987893447077193044702927004104737232989350624939159727285249701637618240853571115069492607762123666929120275198213536677273581078618907659781364429929302392208369194344533306443037695176698208612317010487935679722856321924000049914138637395928993944158532865477005474962202277343461918657336511052751894111168661752316401591310383072432507130193539672991307210014157471986770822843861170908795176687351501532427627924587660015348358975624794601843373381986680910880059424109224309829514528599681247998566634703415841746494626880156216140972601929277065912084537224742845457199286100500872765008825488295753667966256924996726697049726429447768084897387218355406482575002776668421314863909849381253115401966438815489268470718417151868889569615898186892757228257932395841752998398784528036469981014180708797213800667507511171605753593307951661208753122448271145099235435640671348487946675583944288230277156178533851484775969976392686803190012254041150338367157519647462424648513053582817163407277049967246604414842354252625288390728070391547091148781126898439667305093640105852286711470414961190306340674148172563839946150675666939049351899244429256250084910209964374278375691451376442378680944769846847434598474167121678172587476136576593444391486923511725306337513358194490525098801533688205520500326531782515307846532340060078895879242967944793591267532486085969713639495002025683656832094746305236506364191181594423814686483077877069205369413561276205653160451387519129801588871141209985772248637349114609118791973760809114843439571287658339859918422287170174121134058689852159375643816626153923442801713500758462292988161053461559729723473504856414946802058747071163925071070862844092480886677799004009806037819226575950259403434238552015085347859708817017546872247895017435203876348206918764508743297636935095327769502304535187535592235246498045158682947868584195872589335938369645493255865145466655878713781938711499797040697323966173922926302436273937367110609222597729292829392770008461132317266353051396454603861889866697014886394467697940849594413418190213097259821097554821680632304705880828001024486971885096690437773179328169924214275929545093765681789647982844344195106842451894130756893758013597733668685495934354924334060643309303996708567589354002539287483584038219927094873186061109338810474839394374688753573535150787615725724675649254565363663564219911933673061577695549757387087588235951327665307998601990121396252260702664196687119591305753463685744149816825113082451529794843997617299202492843620574640358850872157187139738122090335034448703208497168874286007365749202776227637413016373943758879461164414159970261312425131095187048097077042433800832479660387659991795396535971249175447490413558060560353789005779493482399983052684412568933648801980582199404637256188274955794741364719235886333430980567923240718996619810394936711681358465587316190783781926801770860456952404892665630446438991687826129200973465786992603213172992016319109321133497282549198707723234686570462682699640626945031610273869874325770465759777506195383157340429092614759234231313781615645804499660301775831232902939053422555457762561031155349529907915224080512840694213128023093908786581248424896679343719442359147898989038727903222462478951707505098965595278909182252500361701166661324766756227580066190974473723333424397798404312271998223026311290424981192371065701064728915457724804655728584764234264259956671754292611669566251673484014817474674947688711450937176505036651210630419192717222332046285448061172428003860315979435909336720464085302987207730832796983403144706550647036918573533255161548564478480653665111571388669249122724692363885574727362154111939842090249265773969119259166156845370295586688661473358871706720783024897883337328606715090934431725444213429781099925387750654950681328988988069590426803243930952030357169833126304179181956624698721975012983983050944476622637001886976648005281152177205900366920237102164695245258178851535834748012671229419326325171050554353014143231531630237386425923754400094598524783193911703130175715209861312949181103485087710165411138623281008022508759941034046828794805368744506875679182955767590079569376692816490268873538778172680979737092186610186621129953135180266631789756923109074134792548647509178346787921000536131864366154789099167285617061677306601740568586005482243226033198588778518933912111023760574607902674030507307010970850375676395843809343738072015467307073270193934819684144503572092363521157791389018009407865429732095484001687763742145933646990832164421409887540612117873193790971712410680734031212515455058459521795457581644758850673178605795193515160103416149245045602007492171957418221130973820784871017373195265957919183633660065792564186434004544132121016638533789907758754516664483862620453342250551409421453257744336936532734731041378133953801484098296186251592506356878407936047186143334605105532953267946150640393616742769548816515762320023069304860227336046299101720421981159417766005729422688749481747265550046252177747874474983908996091771886124788752886465262196470463502234027094663626505494502800604973394622972975607715154144954777510866960283433802183714501608323159048745578842147648219128375867538986033104016794503030699334203583743097304592063549838216328253281454527430984626647866181939678667169982073355920841166446960640750364790817520729993923239237696073780266439843475131882848527681346392291600766899831701903864172251408157633697156899847059060900104354333812296836733077022624060225106584020204747169339352678130141516277074661309831758241016122639434797415035015792372821382876303729120328420909578838974341780311837134356532837804503223567174509462951281734883888187554888968422679363771501836535279185735267973600128894060532322208261298598930321634491649526908991477120463370032599174039277421289050751300920978442624743125049512177618262820795826189713265756315250278652947891250752732623188027323347794290889370585971807138614336012856106435274782151522650338366853131663848284004831416929628387588718800408766045294148890572134607445351507732813934478537927596989605150279124235521739067429381989104180402567796586534631408925585638567998357993710348654621468069872884054638499297474881884593827704611208714008597719743460454766741277550311907565428723755873416751339445834212533760909011423487709273797525734863809953569343308332536076460851258687960554667112872805580383570471107553418237414826650161924326010068316144008446113601148747547507584419942981186106561765762621367138092370337116385371655710110749421303649373151845858087353829250518439132795136702035193887739367094857715744763848904851824910560547852006586586614904319627506360649773848602652299811861907176658228041448855657224302734377890505512595503340204393347883748052946413020376735370773618119270141653987077343394377903515588796645693536029054653653835463577382533104853569893936119774135298162871498422891515717351133246184707320168711093302530275391926766666457234285813103254722584307058433369535582865573308020561085186491446011703638714494471281394053530668264539656606152622791483632235498285316578837363110705934055243197332659435307892612155279072604384258295527780707683296381992742487235450271247883588695693091358392055572094267716735307444541536376120630627196073986344184650946744934394571932449841350346755249464164746727718041313985060736837000763883976956644792066722943385470747661048989800040006353887515605329325688440120215225665832274083453730301430849943291956653402688080119959851370862110753417675901035197772520988030916800653189110675532309544234213657427374911790353644816804505826192805215087221741302882875280634761161050533537403300127726789239838670492567535710524003191227753715085623474649197467492498159907882324896907715437955574556412518697692943420148966239555947246160418278099971550632665543559285604570020837495828524297652192535918598688571241524654898133140513303028624840076691385856032772375796548236683434219048363669196207117666117473713876588585855730147237829565132058528752313318810149073007608391840301922097543354073199556277587247944455193957828354987584621615931746173965879033874453691771939974360084957497632788303879970362289090582063676952722989978341085072726794509444281977159761426890022374088520023793915989666558811605652313513272743692939318336771986809168011756997699458714247636567168250856131223918084893082103891610530068447390220066878390435367392652483945051056793101905241972381042766300279814679503062850497991366200245729355610862828558245919756442296016410861299300429968456601039106730311822264282129948056495609396445280467276602363698328596059591765785139005522723860386527600406302076758745826709213698693551012486647318422936685552530257420741625592058650041574510681524552310633336446135150237137392416758461678176159369385369141231621881013657080050492808487986587596698526699282751535085033676591147467555796876475883825384233531309235218166234491221467518028080896387534905432282487281757796519214297898107075869196634318593650399260453651630039448496140263732402172995435380461537377772593905968579121530836291419858674982718134100372981969683502181906072263074873676649174663131282507992139628516818529058614312148341553624567741064075663917985393393729372201411982425399021768601293847696987167466813661907307843330177106587341996418668578845588945585959872454519264202829342861985173312800280812054663314771479486440701007879350091834970448174989448557209765135549539103770742011870359416976484008547650531295687602026566621292892950691155681907264045734481716068925856770300332424044196085660448134581332432100715240427590636319903903411426084661176642862280853678886517671055596011007558964364639416087390755241480557543581988647977652932283727546072390958428280543216705660948287849110452408061314067225638514062127259423415737250869213168010858264651062069583841399106185746118028098846335284934864445871088156558701142581974461725585786898497843243656298558739097997541878927310009944862307765419869282683141604533331953604860241148835308189926656112084376947230812441760498717818903211779709113910448765752187384436706991990450314243567369255539083620432592105130092378883758407597146252434549061087097549286235337859945993048965235370800793573539992150497099516317954095089776194398803096517158886734967485900860105207840141907334125944564682657329832090229587362264302170534190513157418624130270123874417175164702758190323024356160058683193935920852421843049629619349630738065206657244639575621738028665063247961052570803821887027459781877056526572024598396446683249809040382366366642299445829911267451079935377346963584475472934318343775727551049064181898677257824835423632168992801618731229485931537830314799964230114578951167135464492517206414285998173944426687190741260184011471276255475416314690477029500869509430474906843939648102360012077810892999516566396141844362445537387169768096953793701415344205851558178629678897928719441201012834737728256194949332749853812219502696480320017390956026889766759138719627161004411932253380593969773391507215005217638744485318004309995307870329127991592885595353510133063853425439261708092730884383216280649249983570394969460573872894476185367543232463902921790710327278853983471234987886756598127759579707546786662885152224812380746051455520623334022707047623024392434586094617244482078274755999346675199968788912918163200775139137951728731658959390413875160199516085455253096754153008794365563060923044230455439784046016577945400832921785034937578719774442070233682253989703891541800974482249626464789656489960809666101775601330309737196948709988778418995331361901034817549263965769957658859862396520206945066770730811205986126965966331485682211438044436638066399924537936774066233328640711503543262894260966716345531611598421277686273768332763697892752040949571839129465139049742188873682313578835526847953989024834729777559921717862000860425354835288709863546466249647797995502561757134350826419088456462989182671655577796002325494032959866398020297581789509493195754120460198776480924691905221269715089099558409529655750595591802144416045107023491697371883461780969686330697034494632540935893101133318298190966373551017179646573634001263902974595056458518079388762901738837359201986526648843063972674478839406493703593471391675344219002384723419873218375165798001184253735886908764787043171228380601400330493406507880048045313653101637238620199826964131956355593491716972905978207615033605733055217056658483046489156177953197275804683609822164395053893844952091319289039879931763537781803326125179716008898335424971879158245835813052850884394513464601827510953582586345534877588895959771525941788689180681262632320826655209046498251123146018519290570104447898037913725786108962919225171533835086523145851952570137433164229834112499048880154329156858116334275642003334887800281414446880557915076677484293855506940118916137070904669805416797744456878170847417103287869905177522571841094943556261871881319703332308697455869302043030393225280341980364462914062877644930420909459503493248443571281291396501752119282578022415786159620913820850008434603889499088915326036505872463926924205400201918699433714464836394427996012872427132371492128936040933093582670716462404040011815611128193213184881693973991550474539988727399895599998217999390942816846044067596420776585267225212734441847316108246416738691425348766236569918939509452307141363936543885301272614588973124994235026699742678604382618616288513397453061671486968084805611722792165504359368267183356529495170316040561516051602761898208538561733199738203941221450296039163045417296182617085821990356109794428022604886488126239156567933667405535825839932168031953642219580584698140482146402678707203490173398876059840411055299473631225709317574043309065680290569894070580489460293846311291543221316001164244949910885596812914879225838685879591986440762563784269129969238027520891679383041326097881063985482893662862944738995974925964292322305504650311561992099076809670749842074153057320080497409530850936838033446552888572113218957488645970200575192034822400296614805188164914917377891403308086765106723193834932541562065484423774550032539637355834012107293912181289961761304583871954149626768085707257624079737796672346094747695400687875042949855490532048461638081391269282651110494024832424272106661873857294852137599101504031238576333155866777972142899150003996086886634935105733209422852732770621968376288028938476902540391511696205268190933842299561202758947345713012348082981473033347874413241088823809121820317629538376109225722313256740846919090359512600848560673213979028548627500593197477933774127594530903719993286994071724616672698375648369354075337727667504044067284002278704189487277303209227912007787169539856800733521098956195709360866458333873974804174396535302875290691351747401968326996985912510921243304846984390430806586650863750206321014557986895477110167679332085146238053500056657723559979215333982770909632235567133476132537693271533845687540535217488919455074544546098803242171445378758030482015171067924863323864286229385794871606846792739031097952650101466875549001416088643896154811480873739230837993482331949793784290922550887122269801232085378579666825280249229957356704403639100202257016086668085277091003332879405658776555757749556480421539678800287950106304862334268994037052065223118690573849867297162654760422677691521571133760455055715799433421994700876962607518014644392303501744480031376114310606128133015760036902687206727263723563549842348609188676338014318906637266182880658245189721357041216800917489621017796610418960866928213284848345189404022488262570712875822699163868596303870701750039708058063210992059912203329979971729997011775327861173886538418046881581941300305779740818008417652635387968488944329062933432083629485442553498882583107823915194954728218613608011434971398144714446692226646413728375894128148745757943598428243976621419394903815218420634469536875623631241439582615645568582246511777443087963220247715358243925756869209924446960792619938649889855425079746598779976310209702443528532478827665030133674091829875046734188339721416985629331050148026106561673375791812167998474806479959947531039790197843098759890657793405956469978451717069149336766174061787439568655372423108513197326277924021960316470098458099691903123144371800966507816680108652316334717948298267780922444074042073602226041054501490935497455400850047179389025019945964953648488884818880474863481120788067075438706352338363196526397181092955304912804822967992098378395755757551225272672986646995301752226685853459194198726769519747155329511362693235714746838179586455088248882105036766932921537104402504779298855745369111919867490862347788174748033640125253856405804243008171017630013494995989979848865610020264643158249357444830089178562390671350870365885541567228126363237420135784566818835568103843837706110651709890199826080648686126348472327187310070300733574397898762906818093604478416507062411130606319823319831246267169189010752657829585577747753748928296684467241089432076801311099068767155177175444708048707222774882722372338185366229305191767091567089890405343862868460097998010201332402041966564462342277364445769976458109175816279576296376355015793207389366052391194415994162901198250495080605505169364153908042758043116708735140416898304715361217851000699958874187187232561882293618212935745026862570158025959723105754737091855328229821573760657333111166685440419079175344622980671397743878355442335258318558905337170493833124351344326469094200187734520320245518132424449337657089110080092072764194116558147161902253955889476591112285914312192315192612048779652799903590880226975917936100516281534568581489778301646360754630709540325677967185555329863131453005582864506208255078387893992923751727194190489133022634215954040444584846918338039342231672719898232511265995854701590960000054169203408960381947576122465170230848464417765045091979411275918265151897028279226420010933455383996511058684475392243373218503997968454379193537507549361610870951389929654505876172614231075913145384210967601528915217226382674482597421684919177716565104103074132693789912997627808799142118374502123064215420566197226239537859770716569329635484750445974971686335383928583616803813679450136296996841497090441361415920481989477697786932142113810260508027302615332567863363823780544847908605572578143394720282543919218045174125761063367610337863561286862089843179385874823921228756544328432568025668565098542359870382753632190939099539779825627838801636124803833077993306854041718019150070639609509298001903097158874128055470491270173958955434041572122280753493878595165275462020013822177523797483997369978262232633756347141304637082609536496054560006916924473908932565033344752470598957382370917612442991780291897009390659727009174164821451973125098206808049260686040104055760209115447510496462568134715363823891141271924291695699383541889970220667672625883061349937592185671259440471092303782154631555128583500590996584494069392427771087162336805688236883612763073741633313653356854471303524858991119971257755859690796986245008293599513998260811879933348691095188623291352344980786695334488702636797402268174458199757965325780545157767934420791612587258261225828718762279041460084125067946999382239867978593534784079181982008531648502298925717543201330359676148600849453237409931751130411311452639645563223180542064838011281495658627882730261603575964227145883085245538122099563306065259815730405668706297915268848392831838632477655329487044833778126774632248879898425681446248399636425938290381210259469469479051021626634587376605482779487599823886415356678991605257285348909817085410234785555147672816228267618247985897508431963704928522358203524522291148329622601845908739455230830137580109820585289157003804865745220448935402590038587521306306276885425070841287229853600208843704720971708959422895157035416027927428245855470917701871928937202320983245942972544261767300598192788462931950194834033776009309553323860111301846340257127591630007293582540252590693081952508506174286090185056681425780980583634255669772931764974369532381740027161989111935169203857511175538267292186878085642300641387601340561202599530472235166690814505775412136077179992740477591859612294255410647188050453296631095022688340024085000864874250100132950433312169099924178835610780252906823474917042556773067530203239509175583146766781942643857636868110595729381539742662848213165485002585962577494893061302799752780711897847741105440583373031744995554227456719808296975267099121545352448811341247815670395469598668165921067298489485578425204446338384275969564674408457725846145449197532574029137151421965842276120300257515363218155930100322883468052464883995061050828828592988446042247974684249014560150611650573198526323383079984095946182599888444117831334015087443596167441182397695042971451923735748962669918594154800838025768769653739175129634237359222701736142762752572125452925046902462673131145102758747389129009108752281781108255853673831090709934052708568413334928122490810977080856564040496287392205001392641199431521954173149781414239478751141400674537056467226630458433833847453240728456958255946752647565225866170486690326963119573656675181539193854656380043430326864152908129448432861388377237873424197717881205375134278902195124920676858032566536954650098904739901276153879875138992771914698792063997806450713068481174741093809550964102541573744877580365787788594404013343991540810552581628476347586834250399128625798569797885363768370627273404864224370680597471661193924166663424354463339370126692004550691151979286866929968765480116186361687121981543868665100312525846247377657669324162035043881797430928223338635916852866327820650977199261174066736803965379659329473085281244775782580905191623856760918914422326437253812989217212271688287848485681984400380137069084992718947599431777676729444299220418918218788702661625183913323224530105409056464410453758229336987765036277263013567376913788107780949598008056377161866610474264784382121840953542518630619636808393361853095349725761619003529237989671533002943282144021392869178769061671823782927040475472069646767488029574549358893767713906593098003725528006035564748623117586712208466452780320682490308854904815566554020319040158119080405326014252635721941946353223435895114994836135867532735848019988717202254214350666128416653962194811498423369904915724636653076250806170811727511041388681047824865532575303355270409550898088242157586934851331071372439911109315753497043499605212190455778309041382498260699184700959854844271530857063771001416416905834864777343472641052132428604982334087087875791438578706084943284130825455814743209460398064177464396464618882732939613704499530365419292339319335721726704825694295807751901968336247856486064300285851855126374096366524527725103422708156130611746968255502168482366642601516444013166982404590392802452920222590257576778681367887761030127992623662959578352892799213173966851317425268826347382568084652445798179617064739439867679679687117109799827243580866064309309134746581852073798863116646952092030386873793052002174454389756302615359118511161005528530641952280751626758121265060952256671650046111604347189003285794309044221460142646333652883467607888980130048742474407890116967640582167536503044068019529043793226294699318804172884854545397087194478446136976269116199433518008619179020439809832414481932217200797811416341571889608547703896600508129500511755670960633005874362483440397093658878691588217828699366548077710165719657304658620066854533703338962841471908118022126453073469022914627586980749959498065460583574371375069617442911784140523542172410968599606969193438578296910559251290528305737541022110209867915703108744335434199736805019514516668951022992405483015412648822971677241468052780873500782994521617520259052066686439310584897355123846926265063679523760060749077755004403174353208380787146080995628328660106549328181820353403599553960222211284156495461013225850783231853879010534090646088287824867729832624993729051749304182919160467053395059306459982031964580177097859131075878466775226460207909446917338667303778601238072595355511357293426967853556974272514578822985054334574555188176391861386659132140775123306130879981723387985566640643275032581005749997384240470148454555977210503404570100187443035813985545214418659767460804752432939110149639144475480001340506475273587257713432608281988829669147617183179472419285318846253255729805131057785725308226552866503262593519551890612435542394972394700677946062755299296647987034591931568223194274803293391022236639333317890252276455780131168487890058634276775284826643506838873205969399940104121131756021264645969752142060680150668724449315098859810246522541922257245758607338638078810450788470184905719759234096203322194030653786934747542967956977395617270667357324225256792512287653212785810505373148826863801242330858308419858336267030573981846053766625346112488987795832887837550880012771572174669288541164110590777028964478017224328656586492742740933263748767238556057185545625418992586265191078549351223305585001729179817964168748766003116730657334341650257965036861591414125415393655718852884281584181483896841671921067059968701362015055540003532422657926576855996623744963791594134861045134261533340078972180201979202888241103504475983142325729980512081240157332292764961927098929323736321201817288303965629581031612831014939738741749257034424315884500887983486985891028333414439271424819752523345566009306698236805452102189727424399238614164876803721492561892053573326858326491972228419188078744533679808252884364934715299260128537792369633838935575505868488197350835229634496441203218006075024051797708970290377382880558174648376458197723060282702222041330861284351777568011371368981905480829471059286273777775262981217804519621115457919835440258219350177575786900729158348040268933610632398805843059945140898741719120372772707465604880070518065211134307545182402805602105179602928786017815119367914364604155296576716014954411140800354544291746394481700071752994883808889485385463082630383531255124144690031069133314731809366545753841159042727555226718589497599421145875309313713362291566457083459916774988707835054184994582793898752328733198250477572635498529329422232680399115521633821456514249928061956634496962840263680013082986148080149068137238543503265939663824625705617373359225404796879943172940575875392323796391955924644703558486107590973821858587242737035776844831002310854262489334474675853863136911585638997857872528978734790368551710601817212784330941373850802759168759585111136120100127562621207926323247338215486024039907155302013454893556786453691537203465821200915489132119119387643187827210277553040024340109792243405569652742852816935913142087381082168755054091244123120052427470352965280004484938821852258209354583224006409163032813689098340414840571041507586212112462501093637489907315030657498612437360134199244997155513982315550459696153081836031987690654759317679660645958056249327620087950206520324736356687742491835702106269691701543852354607986209015280707567451482280620524317454578331737615935071806475909181370680532458852600314049863394142459985535704294174540441558658680666724904176725055495568365922685978621613808257625180862120562347146254745212377515652888471175403574721637691893557304278381654423181314526683906308024858976386074242741109285070240411860446104118676778779656785835603104034251032934960964886949135632595162529546754440103058252618403705475593215659993024568841345916163788035705599525150453799370020814750108156825554307557365029462379996965516447055992563865127454958237709875298143422057356539623269034041994388911327280723741792870724280120550861210315768495783876802452306952138968753770683780172707452761797543428509662759334443446668517795691530563097673043967812976447446344676639871804561430477359096671364516770648264764071646998754992155408371065867871002593538732269410949000003386607686185900207767743240220566832542159578694683916531188865436229298694012166177798978197173859832934596603012932479066757848793784638613809809311831908316581560365234927484444068268049522491093864318987668882387742239978952421166784975932164626901536636631720656510461086316293270517768936855207390948224637825568805887762322472184633598591582765480048755438158496618947683695314056422121309017597294775607708919727388238037615155228469680455726329053822981815172530347533766448884415553113419788984894165505003814266294176542714731674258555679110049045455214735559200859537364825105597431353697534822639745033171970094746383592267811469869639282436695196942646219916794421002515299200969912987966842768130729651307413483330580097592046769135424811806773068523443487698076335569282767950798103773422955078507781244893278796986954796708558594142356376216739405094368242741844953804235563087356772529474715824756410367296711669155913300053824351169637607235773451936368278528478932137074341867343691961976954652941355721343687635295090973244129947922426238210561282189805331543678153387631832474516046944544357069322087445344559417438947850513773225544758899613558253978944958776410887944603408395810319030677880859936424515774678822001275314305752155455472096452299920487651536429225611562505327614139966644867306234917604299116735513519824621501572484989057217472116004298543254844932168075727351102774517049581348166513498124196890136494020956447934120031628713270622183843461971617575018367670457406650863503677039582556971614152081370828583032065513751479405015446950355775224875748242813227575544711404329124289242782859521516099358019906312986532069655050113326891163168577645478180261077820966007094552401456108155209019066272844697537215408613684371689652523903278011479363055641477966494205379996969314899286581663600208839243062830039638679409248250316175323041797038328083111866852189276627212123275042663462997543398777812994639899458191665071644793371158189945994300930247667567067871673940786101570156766534827848416733510209983374107148659769954460056946573371411525626340034750923055486093550766053555766822319503852944910868370772518027028879841753793708204123714609656833884301097338014989143962816676859671333340688032620821395811728411943214065598443588459419330872043187449421296422016270494817755349185404677993059944991477233930637714387158422039741018656383653731857110322269694819125976922686187384993186066941240761063419822520135434204827042137245423374320709007143231384458194658416272677364073240700170340095299197614822182758423223046769268074000945166569617178398881145427697043402184286713379396177182936476345054855349489141774581393570693938783472852411723585324063925051310910327576685651682780473026242724578950203622792763591986890678275935446193404464549854401408399750115764378357923559203806331330898365921151245605557739611616163061257832338160992134973536736179440043338014869425363383629774531478503284377733074561394394244041528440741603562696175506393514808863366527920272040305750250510982764751120394581501109907289152347349199065446076569578799549801293028459696786725489245658617347818314100112224782294307379061865850300012288651727329287218198982025693109311784105954998526214234198476142458735452850813934357138777036238776443587615886283481789307246005164141863540556596918424043954658318966302172453480897186949084701691646994694934402113101070084887956780553943172024697317789309993156687465615060622331190095477274349907665027218512920528463158799807705945564719494917983548475121003685029098328044641854326776685824153349971951483148207137332845434648591691399571130027498849783728573565116337076621182228826174507930357105032048473437426211808372319906182623145246701428498455735960152557514169399055663062370478192402027342598519855675393671722801926268598570397200365748621542927154103068873534699728793610712872689345880076866979393706291933976940666663694901784766236445582923945697481689783096748989231619883711029358754167172708012517543695021773457603529921063871429127354538114489834808308497087073493632969424588523500443845761537221644794916827135834195755486680400084137219880052147021480740167700067506845095483785022925383198865183700307009729436760135846583826648736110203115763405679129141229853880473819690463343111620234951393042615800912989702958752270128743708190358440145537166279727038050029493427005930856850156077170294906727173382776052020148209018475788237906766039971201964369526197671103563088258234557003505421589711778468379039395911868154790040008378417935968837562238349522554302509660275101809108109578696398253756612086629787460578594488822528863301227263281279060775841887813442074644601224533665963654662143360437246609114883802519440107854518313440895052185374108299443783189946408663125622060678238924653763949702698527893701093707111763948292251313121822311505438149816722239611598225640038494725120989264283675588462056553378705863612939799048310134341803395275095416281482822299179278278302211135164905921452205052663993071630366934387923476321844475170426205556310616986824921415151757733332600686602754158193226237082138353306395548090479388524567812272553869683306157523964239597209316065667412288714058326278918003231588986385258968013405783311279728730545503412035143501774090215877255823507823054715789159849883987918980314487767400836825086782072406554327801375946651741500998498059667071009811859914813184215874200114482150515803427342750499827103727208221145339771780922073209096029319280188434623758123514346885575769001223501144780115216014964803404215711433892629962267081634619212716595369453070374401140611786697369716794159228252828117293585160122469108041733803053202203090684533808133514484816593320192907062827666016174445472392918180622863517948405751731659662125672742462933306090554783163724563085582979485259406963556820097802014817969135506499197585510600307171740738054768691242765829347102898383054165399406052110896772756536541859709366142178297513853668377067136886371935016859670463934778708421054232617619792452498448945452662293569604743697142321037124358854883725645601979640416930418146696395132682988636180108246225861627092316029628225723514770661453354852775732277559809545549421823941690094499177157728251910067090768102828209086805052140538357934199289232534221067450779103790118751314489761561596960067262795150926166012266057515605943165955229093211529079288078821237593835032242629121916162942951920573607617066252801767908209604528425333809436263678373978443040774257854687462431066108504972909736568405194930338046794192833425900853618063140610580856438636978943572131218444835565491882799457266494702125094989467046566571581656570788233114258488518349086856036421794810398537059775956241985944866451457464039630732959463163048248152639345373599839309419347490953860334897815469816333867782268706822662514829211857105244090078131206953437211033380136547509656180340276558144432651836464393634819374621942774686955772764586727075855960144828745274759987562621824482990533079206139211555620298629214046455378228511807897698158511604276001324821124339335782885050502131360074701947665820704593579691556734136469001959684276313269280065204470031995547813742079828017239232507675588301119083670985978458083009062091220514994753982939414723539092064419520848616020385481844130229482714596351199971126408860730673302987792305765730714306449886380371313885401027957098959753860435103456559848212710106706215953411633314888693549909344070061163202198341562965984035343250435975843146417853611601942663581992421775235726916842257528165218187394115735986157974217906457571232879141364630364593581211758897484325005582925508415693565895255356804039772022745685956931875290299766789368482856974211885136085666153658516904744143229239372832509400511764231564764734100971578905217642563849142572230832252595509865511252111432020232815262537838676298469760264487654601882435192629493147810100212553310428417123079123047044759052846484681086300597098767969831164276987840819779130280444963052356257020170622147920866612301037760097828797491226316585055287164580860333809080750051719876709884489820617160593725431062736292108532764622354463486871025614233871695814871009952483710562989273519954360939259345971366661234514751017781196842951036045200887312962603075880709431174824791000632805829957420585937052105472358516559222802600328515982061071615101568618036293665534738366919640318820632477495087941895756685523629468402203751962325677048804777541955964237741351639709014345384569150132783488196168363900610377933613896942907080427807364414194728926673057195528920888457046025123920348036060831622656141936663042134016080900695846583054654432486839826587573952614437107821625686753202259853260678683993000622334223031133990230339344948223366414118531800676106800602011132501532449094100350479435347080594394742021884162521001933212697499646301271443165404834474709385758462274015118458511719114843559179799272856755261581840235856629649549661200792520188974795079673096835737341708828373020578897624700472035896133721154699849158195386301041666126102995171005092230367523923992870606018271432809282844140836124779594893117478960324208703504690662797188748881940327180132916048454898060036472800167258126334019686750612362129929995257428435431191915453195635217471648409410739765640240669104893080379050129106014686806189117779554336848201370138150594895731549074660908940858742714759175313626518623326412078608519895973999049648107601992143101203769789509419393497436015847914008249428160798265024150014479825777653000911222704101256177031979666799951074279375571813717982652994335888739821073750753320014397387820416970707179204632299866787076991779306359841728333908970731551597067914131056525276147969957438087933333656791596819225997961191902700403871896897168050689252860753339600919695281015798264216078909376081470735193092556347273137425020782352064152506716832231649455631415888281664191838165243320857930401436708028095964421813891875405454950825982767626922783200996665994340926987689176457504094821681277686389257902155080540053931101675176380941468214704507711883944888319630165681697350401397572843353511922149734282458383131413025652960481588759019396135223099786031393977818229386493921549478340038019604319434267038672828246638304522728596245109346834332642794362940396663466283606300667431353243270050756889961132515040795534353855355430537611206437808590965259690990424615075800383891505546971318433986452840046352007837457281406055554999397525538305939400285016144803024411181169823283414485025190388271780051740374745656390360826248732755072624980720779692696103406608197718693336401435128234733324086338598589160241181502827301468696001172627405853934630438999517435379446500355241646680177679449719364573253649478305922418628484959450206724053195802726939071939878204390964093212120697007052878189474972556197381298845470548067448282378202420144987702448356798788311610077085668827701009654172457853859580135907911710168536756824396084600879848459938913027368970870698123704781507912283092679288074089218547114404040961837833222525489687119212062127317680190745433520315477393996831123543260778375489216674499678553506495818201609852994410667417084813926709741361265904100436350765462420739977082418191557310017699730362651078220997595610270515722299777266952596281589805168049567241482747328387849985028551290850318297067655839330310386438600521410956456463862426166024471446624215586040498211253796947062888869260800828073412356964712655076955173145040283264252348144183363187618230491780451956055383740184304175360239613759844685189499182198626858952109604055088391457697361874586775820887073433737456830093276152385145099099200437078764459344924358163947996451079218756243327181413217263914270787829268354581485763094264948238906370972928906712529646852565057304396100947746501751159369220734067930519321585090280358516132901896277281028192605603048186660246325812172408997192586644549513635057096830714975155367584795378090579052620076642546294860492657307303425705164308637108200657644605226994351709600788746916247336862895271025324889183913177542988041697432170137719426562291633081112579868073738383116824972424805962027000243505005351300188784673719427411896151765692280283693190112347009276016766479233569581933872892541643939412206677879441547913663406334655552455344037601338667087759975407030094655746220191235283255291030143290387100394510609451880902704465822111523592461130235593352980662523383699646898464918890932696551176802156131643014357933682904947817107646477468943039753916309122871319890825221476774757201285826392757622957025866102240383531341963015218233015574780953632661837925412879658908484628517707964519831821329101353124893546295822389409551976997272753332075149732070647978649035219169107677517809112834336232959122160514542021237265801115664131445423103678469621310370059140090776059445773366922597284616776273539464750148594218118947832087089079254798407404095828741597428670857870182641915971832209587810043083770954926908098803682316336854908450354207583700719404783604499500603196406214305674312004030410774225785432047136818852056866056651672034688589590896149532435044274943519186330345095888908132727940493975213327540420308826150924998187346743422670721384328602884265949526563902833033332589451672282678307915293511847328732244531441901565750434015204312522904160328019323646868990330652005559909465056760628130759782655474406119788654646605051488702335760477376550031169980487574027777153344312094995231615983374421369109710197933275063455179566406465575854975528811079831686221492098259740722394249487283407956217214949557167783257014047904598957541560880088140640557325431248274310641187311050233231802866759819093464153619746911208816025677674094099659263844099513640243311245946084889571655791102927240586057695059758056186482862232556112935390210878580511630311025668093665904277192478303240654006618118908038152875491201129543347991617927432842453615011654896407240036765741122604970838095513178730447735171224809602491917567214919720722209483462222932663034997372829597417397298045176360589779554284949245926478491311219091382978442982664685824319915190638945827730547136945949165263050173528396485589937735162549396850919133394152657014588313723192595699602315039269617402690283854233826994803415197373977236537823077993337642561145300839437954999037332127391887820449628423869266462421917784273335788964144164331298765095304149983786247984728104030316118654224312543620738835195888976196864839769216570953233193653488030200737518711431948435094976393508156389132791722896743146562429840079653713804453520608005604314197156355726673711235401482230723306219943093155350619086893844109357599208578956459030275192997385393022267710056483523574084494159164628003739221397053948111013429775827832634999034763731152339586775032818522790853785833892891871788412634332666035562438068003303795801970248584555342594204989262230294098742640035810759126402586499107901828780747442918363878660237610768391771072677281792283846296578619750585320684296748060503534112178387895452684889217979904282936523783219975003750801962266260620608955758155461468361060569738101273873107072028477167913055822922443269218721295199784584567313680423742345423119511279623563425986743968653830574025190574644609520801306498473782757679391385557554902638658807004465331990813285239648198609388055190813378601918287336351980662874091758015250899590713403318237709666386160902289289381601136562808913620063765561476891271469916271204122430927236363951652971286151203216077044150935773448537200697050042946830983797963925917911713380011464420187167125230821682856529457516154201316156817954004712975549287808329832006507074357654158421738627132856582905111969338163499797212667730128822754936790493892735134739099577336898310283230587582518859523692613751561257387966235680442598979061070277514448770312226456424772801598684313577673644686606216168939199489380329094673439133694196626736477447325270218973080801970768002596699712575711592581086091020482255282549172605758529185996440055154822157048436160379641097880335084589874096853481857692551544790041645822232369501499818845412851236572616069987440454425040625175206603949849886876272398874143635838965022373234793565358030341766905362181999104561739337374778474266833776169930569586842669331588825268571317094859949849249173730623991497190487600751160126443176659579578571581800187676327761060460271772401353374674483147981270723310750205032345692174717370227812553840541736585534607988508789307955773116836511925581983192188744518010902298905563257654703649437248660895458963222159844362709893067537233808377401333475192713367691730743869757736963860349061276777238534368517864492430583269630754264421265723784231891587719438824673778315024810043576839138361475567570451192851343147677140755203910632949275174168442722535273220754044141324962941295248955354476610567628827458061222823905609366052998170177543937778238465150579732587727344867355982257228582538106392168571553300348946004339782262893028878942468513674422855002322466491207257222889206193124810855957610388802029635424321488995999925725398576522029579631182387475777195863797181366233161206570417872093518723361120556930872847953542705374898088233868824621091713043423887964459852822558823907003131276064049323028393019472423913563461179489284129405987702400332176888568360752283532051484179761780623253672278057116404150267011488045395499336588078033441633230584524437608088135283292061225061897470701307644626149240882975764354638142288484737201247745042038246260225162016521646981797078625735848853825091271150020866858379109130297298859578838571848434986458385295631483620707331799901907062684190424582887656821920424415363307930639816508863904363773053043498561434209568316951812823761616910202745314639536800988792591291798309482238906441349424693324666798753593809276169878477075268289300881967840654424122171654959007820850765446822863995460267129383081620937561174837083376793840448495833176022484433669320638994572853927431394361100708620486650725755956030097399737685675831843430736543027830153314702642618851114518717896188232594937271482750726828414748001871944709791928966572363114070037799236274138984658352248926217613759801089745591013942878712187504437611313655288108977317903067778854446847832498744882491540855409003716635630316782023174832946680153557040721295325924838837976761345843832180752209623515792004312561028994618300401965215863258201639695893110703049895708851395670990189078507027410589021064952784064325189915742027602502440077379458724813043788007957341483931278179774068728435313936423849325060288047937362927814465015799285826371459529006387485770655966582191392666340436058060723454007976417964758580861039144337898743212895663641902162617846557424479646355823147715136714094932830775030503395377689458438109169433265888905629901152083049777774704278487608649512989187552803878861748507276318335163720108539842164912702314101527599533890767819001973147158159802723052916521043245004210445894545325484133861122150992877276292383051991875489896956118002437707329698094046774482499852151964681801595065717130256341578620456651404723120520237806635591463673281871098203923363660762493295951269273346592339130514446730442822567011872134408439409279668329152898273268743358844418261079522606635674401262159015046609910805010950625850394058519355574510012155861521692155668778791032933993658084384601007869700452590258517005441457434091327111935032800063614731622093549987169650208900016168718959793729893702674150633383734200274708846264388785030841340474314533572468710661509454296339355286658786917982612835118118992463751191077544425789956052180607848834414043456072823172611155690539676166310208519090045553073910798972269905611073355529462593053260365817137000699910405374948397136965774703249955539193554668475082263749292115089510737410040759558887396292319479228989359364621117398714170290282859763825830430976968173679187110820038874988226145225268813747504384387757859435078873635769691613569908845741184373985240584449741759477264304309233529198193199621278194235595126169328055234924550863121577746122399010188749873789874722484700531524374512923041870928918010944288905033176285293672777580093177229054476858635562680161295606732968450569133395497129487915009652830800526970574311723249372906226583757495368272040429039420474612978009246529223400308396024394958245922429562825043373650234162323312240592514378349766995362217034756821161213284370200050054897137231408581313283858502054950517948525500887407533426115604107500886695279949526929422675403542434156680171507707587784531882980956406243692316091366872403585839716502034966548103206089445886247464716325452424382899525412542522083111412284092990758348998514161794940270801568771615769784078604671853733703603513154953756795851536593745655070086624849159539956715709532259440869322554101476146589209534310475588873333181343370762136500228138840419393304157685814407807778316321940805239743473121562373440881752047604905034051819562873693302359201845115566906961515180443606535154029799234125413965009438498606445829543330501545868870145451855196631987319344957351135763480773438791158767082761788887403363602960238578720716844738260761590160220051158275366191672364606505868916386926963070023106011707702809906523447016548759282971615464998855799424155232801812286811272357032465088325042021689532731768689767263477553749808921085174553446527715161812382047545114196148459601663944146043997657394474370196985517891021188936307516181430273982926974555982411061865996081082888036826901941645223310848601820594610542560567065507952749484911293054145673980343942213092838680684029779930285055564748011367024590960218003182326190695490753864759479055788971610435645624194985885954513509428734170037337064222091161116892304670932179439463224392476383128180333119151112515593942337062026606308588370310225967004011160568244688189164286818698792674193814543708028764491429824661468466754012752917763117544814057655763209134909496531073690131396564753086057059463575532910971433169265948549073744757485352591785255645423481265111029609897558978628504674823015948859566062537892406102955122737447106144468988136435551247974368768625916451878195074816265649261756445602932163292842125849418015071165428964432336330636220952394144016781213497434093261115359219628433366587577489288001307932763747025120309373558786715092584452325246975737701295650847266610632793284826290637532790553114883283443321859261393796684922531976108648347438869481898912985285437307413934790706316019176077721548328024313888904859292032224453354370357784255262534824066503100313143513177868512873150454246610885001975053890784473768693313544191839670071937283020167251262097114491634060130289298375263602290527341397188800853496481688891697894220880340481482611189048045495220022603869852576824809883137113241374768859671050140221115407783077082805324861193230024614379732862253136356091298245666393738616785097149727366719801520346658010785305406683758265462631456492459880434809291985022497709643007642432435862247442982339283363427420058866509939314389080151240122765912328898826
