[527878586813430494840909066244275352255713040743484813457996060244945025244457778403030505817705945090920797524993412928946874217025787126438068861767639607483912586838342476167429623272009499953204313783023766484728240578709128021103527402797154312645793837473314659296219734534803812744278046011866106627857185354298479279923157591757010483666992590359019466229523399775563401364429842359873437495840320202447847215621177040672135891847903789039501977631586569264940663912188926623910597629687196411416844462320130337271945182673604843407617162083263298826685502452737340136457293993940874039265364775174590336305095738349889888706293618717210308939519729607143726034179496688886305618988732901782079602335637147828819444127852551641699936493093181963026678430874165571743665218762583207952515462015500258814176072694745101388010792600945473829475727709433447007336283401867991736786808772973554660330648787410857801318422888132742500881365029253720011361679946035381100633095254581780911270333101351552048956710327544992547201802841867373060835172520691846334478513576715001632198189072663897435296942023545103703227827833273432724600843455781930943849830682781495875338433102352329621626513434525711638864104835100572393882311883557970160152265523436453825933775466287199623161500735130724918927387785398821049407900584019270635926237550137373559625890843831385721611487244291641925932579678380401753529654338825057649029768761491030746304048569664921843643488533177648964836229245869167690739506473408637823108330418613823589478304911298820861538672398410682235336542615771669397363558517912743515380764144194718838929897157999109771497257735579876895963494181133743974579770053276093296843474891471151863048744734770469788634815115867911791514103091954552824147106592710239584688172846608049412973290839565844216156653291299718187892541555698506681617613877421624860857662955988668124861698341105133348062425661551133303922691381464783239342785755117499378015888127003793669915111618338236061608974431984450033467963492486826215036299254906746530405370646948339054696569011457203290723128647529136349915120847134104283912324886321408397439341689108149395064936686893476024172119772097019917183741160677761501727083230190917640137868626306474912739323347094076304777962378199826591502226251263713905172847416419036800230065637136356275111519404132810670285979333053936273920140975235613701815163819446070506843315996788829061725166107261631235532840726535206142040525393964641693055140772169759520080147861317299975541814852675845478993413422048572450501119350602702650527657571890350598400706277159300886384541677206423419165574016146975855946196695763900760633318809354533506836649647679935522409054240364886084758590737816011009131493061851614428075604197657295904709205231050746303073350835716084912418414137229517109013055503661701626817013829792244551629674511842265238043852990741528689279328108367429485216746507799073977095566096457146500002345088570540221463480191662024586520611238225249798197363108290959906446851629626391291779801159824554820740516747990128695445779418018531608983808356700198220678758660734699891069481230822428495826607333139260989965166679182849889688654905261719811463261173196895485508261114941002495842824268309479918478860780355667217667369161084005338866516530340033989597877432696342604145691576079909169459135911629941722846698746277634633764874182254302000600528628005591303416862245031517761065104990621227149004166319976654217979240908034211272348470455816393894260178431682409197127362385196335061279307107415237655589225422754052060963914536590004688784359051147068446188438531769600797667421185096240090513030919717839128370546454416675404818286852881938207614182268692027171580631426243196877076981813711325229372247282617823336512303240061181649174559269118931535559621879024886898460616009441272585947240360356801204159268406630969264480961560827663888338619645372289345044654897760968319629177276997328558055389821671194912401707926839571790412868812266756227361718044672748730969763590792046624467470384037577872531280057397249249929176979090896193777986466818362450352753343443542310364352892699857229046976750502839616438898274990120586749784563888062178691342148005872226617651742757069723739604150546420184227719991496236563317471818643764399263664121529479882637104865802572172669909826255826776851573429452680002130088435175643944478527202053104857653234721383176573472107153679498408740645495719179948502165684603589849616285969908472612813381947898091615267503947176861257845449728744864821108869060061777786512413394663864636205860518838859565843725314262596866146620486272609736018945799119250193640582800821409639491253419561968996130366739044584853843892965539132386963859092679047742409354754458603131402740709764620665867129377404571008778323650815941657701630059495173435704048077267883821400903669128369248467253480683360383471633152661271268863503839006292404407947139711842680034419214389691728990347408531574102741407637684675770211813466789440274172083106162464386847544653794987270296474387585625901743248134288770631002401472527238785942499802888591907130106932390060111098146730160614870117458029726884293076146842725512625039394536050863149046842898222254032661929091508782686369478798619416212152532754806999716580700664187348694254554021625598802042547356766994788332017670884533563423778665419717131100903527860472889743099336580534966692707680445213937370794991647793398678022906774088356245775058465821529674747443021496001751833646837386552556519812386788977832189429047958135535516578891315056548146722136536741780895869913784715299841500565220338959424007044693946617120532257158484411180767586709586203488713607898915519535057253949145693178774506329329265912282220867048524393395377564234413482963371457215389775572196551830101320249100850318046480062382391326797971760322995728787950946523826738155223382195960389041104211891216164920185311796554009018921858637091550021313328234619183469006251249201900575565565564163049240483561277667776300924526633495759753961048225996760179779395104861116861702179789971082989481047839091063600492568610453735898592175241012894145766379163459189628246082555182327357808759984080441481909296381855164228075536791802850772047808312243709069921392502077294024176604474350370466542698846567721883129909566419142440930831750740574414363872027220679899277146901726918393882727141015358062896789365644730658242435084706780495817812000471350526056319736158804735045520742490816240607546107079753173364847853471269571247571245551449756102731441759226280789174832121128089758383789420151074026932686421288250597962601456374419886785906607555358280695788717964813111417937346729871908486888310173989322123884863169243332031851028507081647193043390685374063425050226563357382509538926379958336609271050230924660357028637781148348881813290336726518711550508566812601318797959586754161375705472282937316978039281038052733329979822456756952722154508151873883121895614775523125891345138131503201481471084308054029725101979562338570407599421301935158290650730897868760890647055281846813700908836024069955702073089743485983632807220963691807130480814290988418192868296529741059450345484564180601155460734835109748057837094991894124634495563985223035539945986877806685846479461588923799796862257526386246582484920404960727541551634714364889698782587289706668074783938842690270734235872751024173654355799825440734156771717563636421207454128893943808838438304778750173237318692024431725884256851812330820082640860031913865185854039963424479669303980208588540847863790446473860053650443131817101888762544118284669214759234573455449236945533509752947393174138402533374150602292850270484903001247442125596315468941898813462127803620490035165394178189368924761657403444898431400021037301904965965167332596814617662875972802908207888417643216667472907722896566443436633852981354507202320528602038107539569393861475803906428210281157620031562924648482700680160079666487521307755438782281431521161316634168386943289847185289642732372327870379773234782685108709472790509512764700551024189168897766192949324145287250878058557809657469111958982445713470267854854805526227527677021524614634146617944666613967187881160796376456266878119260570239386038034325555365424858298710898363342860831992040186370226394768522451422904516383128024442701058537162618650926246520735457739659485763612663457034933416317408266783124681838765844855558991706504224064088229803447882586549683123607639090714228892163881182646827822263636461101415779524643584786401182667649892904864537930947316840586967710945631976370607720589467396338266989164891798886357489530008945936238883824266185056444395941202963584690694553077747172029333360199583727152729734517276074315967432284892147983025046665289612016724867363020337511978851807499129685417133785743483592156788698310961447625431442006311553159819728668851856041067690513617923393193976869307426818631812292948984834141470463156876907108073004103723575667320381461507351657895813507790034644411741480357492455259493481248068810283907186081152394098254359299673496762339265466281205107341284123220863472474159176697348109609998769140211935893116397860874190706214336143791609354817744204068788404337046375653702594017685452821963595808009773081124889402433060189575646758711142215869510632040520482533395795035967434680045593920304425839177240774048490385068187841940986894453867895553961561816181737222593628536666944630763567267358409278939210684994882271355444016075487996538623004925936989049471689650992547773510242737721030187753713154486332948884915482343107766081457147091766031127358325878755688053060048668774045709076981802701849403617336374745309362133471515952515248867859389434234473995399818421322741478358574668876753680693900613142201492002033255654580827195371678771241541407025901898614015205516290936332074454352738802660120432032531149947529365658848803772293798887042447045460895951473680021561906740859466167690376158380729970525170812722638694233417226006870468374701008808470916820896270914448682131738724436414986958231877252458739931871270481678399464836867171771713847242784896394703830563152984475337357696330469029270643643663308043550570208115408405986233932271525817623908137420662885854217152558533748661424718945558726385628171787317047335780776750602529635311592666407697274583415988259380144855352569902949254391734028444223824791120731604266062289269327134520670784121929631028492490419734605433959757318473669336641745104670328212314055320141496946593364734352521369995517587098315817848470080836986270425784553360034833109934403510251835969565380295375039752943225100814097062003417178700653536822927261109352460283243000884105086611942084754781165522960326692920875987255646850727701181820057524858613861364706781877208210117486607495883803616947100826075928503169498231221019558151693329725760814297243147749705833341989171723995602693328756910633981235910214715658097917076913904596552432680246082701688394598017022814990280253514621984259293007588138384524000313896724160013965907485715922924894091329128935360900894760895760502209013809396781995484110113368650741523688977307573134335051025969820102243649333536179735166110087638714762018678341844899437426749639845533191014845020927382943670303385335256607303128407812693271372813004915714360522285930277489126386673365956145273835957012899168293004644501951705915129066520170703042184448987112037641160323541683892326839248876299766611600589091024831498953701597566290751749205309914578070682614232706300623186653144705777387921278258770105603246693132830382454482961297030546382752184402747737331979180372806884920092709258847653192389308953247575552857233895946647814865092926249527737343055674371586645198797888508823822790086362481935402569340554371083876037683260922103748003684474356850475908937534237379493904019014423410694659864666003031058629627885000560926573754124288774695107012856051374643355714373510760452227749280418012943323265173825724726760258907901200000986387077230891985236201474340226584639583725353850027824851113591382436384313522847141278952647427127565081613566114267897557226772542151490215755555248975738225299909135016148861311636967223032657904899011641548206509015705895123621487885965320853475881311228506195368201870640468757452001574872722539421442888679798594653386029336195462875504950292044540238568082846372251630420175120918778697518785897717156171244565678273350771545569735405468692706653842583057771637613947828748070873782426518688190198820597891108520779580340694089623348037520293006242621258828636541232322000927375128324834323184913993952055925807305167825997134309246918262588808968475328813063757448325794911364846080742248064374407403854298739353172471619907719290143130616685324564625628687899228560871290184248668769878158549756875664621276626658116130486676950990461635350577068299825683638264101725121385385452082583889181152226994664577624138646247398198563422716045033660241564830074105901850124044619996500541967338669379070416143971032315499758638076146685749518366851143005209473760120523230556891816342194166263971295582979920133204695456209749685771001784315718118177481009374923715398052900569981085536854170570776358060585393385083217715944597593217996315393641519032775444185537908227230052705849211944526020847997900809219706975768452064018202624183427108728894802011726077630535215105161785415269066406345415367144683257470644924541369877592919951732721729917017977530442069694285530941246902608756716054638890592825592776805025438208679682959495534861141678134261142174520019744239830074996618513899296628979274493536729477250349821483493853656771825770397450958962589000376219580727898550893656674238871375065488805393913298371074334003523258297313805011120185925336350011224509940158065001645103142544894273612075907504668094976380678771121782094801525077116517839803910233664807942265821878160952494563795482418644303241737588167526257055473861301172381163660406867404061848364873356289556489988939764830785818498588719361145193727516055297677949256672752575224186532775686912028120134994703866093987058597009871850551579193626863271518395178538197735020728613781252299827148148660810751277047842465247541926299596021319118111520964986582881491035525730676128604723487596241071808675614907677450622144753946539441657522243289985558408357770521222252975262078226173575103689370178738392280690777776604854905273012757992539464431661775837876834560723626394331935784020171926887205900126390350128576337359446488096308877780532330219959211551236447861071834903151912387601417563595038521609907176934671251478305063751632827901093602913985299694362567665215904138484106995196944562054738320036444657051417264571541534232040420711388799663142547978866394722781680150504621504759309550880076402138870915706617731430372190036849799764917016524572945437386420488756772728283100594432402728225142687951906745057384464718478855958711013957010922560019948503464889044900078149983327222165022612129561163385450872833285353678733052169253566157270227488626540391403311053007534252212520532358577028677997036468138640324071297540322602945530279594404547041496520903097737873154129700704413669254417740134618639180597030588222623316293798903853655775992238207415376056964637465777097196318786180654429732935045649703823158006493327028777319692493145981109104736973620708537911206793641348379909537197634636314662132439903383266635013633283937306014774449052919501606920592022757886763088221058631784837456331191956305370209614651276319404317789310909031913931868665785610019331303440963837004989158911503634145747108576377465574771978914039297400750564956405557888829485687043090440646676046138840362790862394808257067392541619548779719806294361933024151781256869880289217016999576249684949126406686676229330234078270761674163510377586846172929436651480552870278823312017527414981274599170078871938476059304618131613671785199765657651298054857532100961334411565169141856460199161583060753414987184787487811479368915446044581863550199959829498692248717879956411822763834753572991880536865517535761074522268408268738584323213835210935852110922386802265590510838965831949835367266264782989053378746414758977030563436231639743030375993806509731747359115434548898060676362880319480174942621659883453418214256822796780708831407910550344754264401826628634999652667176439174025650035943741240580473206330003241853982107147366149438195335519326523113533417441230689564256167580970837787987928450700460292834236029391788011018072180582916966425672009051310133521229505477397929328168239743491163833454510246320788835199944426692850348122330900017917631568128251455912515257736416057882139080658079570889641270419896549832736934146545282454761182914289411338907865429176567921313268978579076016162657175356370083535013120242974519834406360580190067187183398553226240149108775016363987330803996534336573030748935841081124351192881591556916724178781216130723866445269440608412727629488962693415979949206945788016642848023676786283105715632790842539915562841337592285102799750821732999093172551357907250378988778755359836976137797632916767351565250500230176464351066951067437993758653434156593601209771568220359773613893634548820938789551916126370632485874903264275883421036559033863708891348548728910100243234887856125534809653712087938628880251124401837281177645064515155678426487448227481269672198775767291394131366038488445739813473797877172791174563745948044580975553100287172948411485955967056179499462981518119262530442209120269159562299001614806159368772551787955873923482273967574137700988180913561803803592219733364932828628670703399600919854930853971840809803874963839256528013463595874029764360004691552515269793319365755985866552741020438672426154673451845996513857830558040155901777033067362392275447037931238068974268209282033418384716432159682762659032410755201261942424801730170982862646966471766255326849966583557925182073079064009436296504172930562997074968477026763975429483105109801978385428745502880637228359490077962462361315599042868794590903611880089119965248046580956321560368336635392290554510147295836719517119012479877842408793772003314610376936623501562110466553423700912286319432597974294343043307724247571083823051658483525512888229965080288054855187616219744909378536279511870402161901611803824653228038951905560207470843301714213158419093955930820448668408421054220464800274883531857328930691747887497647417904122897102834672296094861887334851716519785268108063962321337226013761618075560064159751396955685335095389076982327022795100618622434893064245460892736844042092438420089527367641722704378056025232897311197134711964848303306656532843808744311549581979300784280655420007429181046955111096606006688250839775971273793116741952102655238610270630000124374350840992572068114127900987459031058614713925876812778671897009852942056048804191984826296375400668889981537593761336266943255302189850707716920505835217334369758018968516781114423613468557735433666773039285230296425162014100683897501055173185799588433450338327518614243522228657038276492615021219636770822602025262889130110949783178843090779650860211708646931684031847550797324745407484027265292396547570199528028879528623073132271464206856621324244289422445180078656756767788767645879878036680140687032634003770858173337770203823470290389331355083409261009843810470745887741909033222464664602192807212033008186154021024246931782281588111192929235901151578193102095509378763584462897863293693464052281239931928094254732192939231487912299338111851744314754610850729102213232587073071830793212856858366092424551220739932035412696580081264438741644017634094838795980813248509216593691009196481179991157857531471286924084764905425657377683204314610741517441285293372923228183950658860477728301489141725480232350321144632627926770525194440181016837861632586251170188048316449582033689889769876296107268744131788522779651674240440171691010343416719683706675952480458103118061214248872694975772093148814757324236739001175715528918027103727366695259210700040354219578449404035307115441145715197687221974477386879724707592527313243191658024866626517659515731792139526162473029159744001177117972789870160166326888639642777263300892600113458770733321033648797106782825629472433996527195504791902534729686395786738613573800629321222362332309993775887630844699971946108584310971044816251816865872791651314455381662812318401029281620570869733892255317825481482367871718706173136911067123945448925100467789323914799348978541156738096852884039617076506825793098392174808774614064258406034312600688475976495565368334854793410392011081973351849317716139515625103091676897207635228062699738744137531740608091922356335582224303161059516695559240105809705414733905958890340900727161744237163526160171009128267853107095319956302121180198499889291205071895251583685782506661144530691384033469297892677113872012373422754855259904704323662047333407876346025475733308159881012179582050653046163344090118699168395098207462424642348087613380183376403716750790240697520114578504313618138269860002641997003818085900457942859189856732477513928542168853435608615208793174236293574020688971976058657404426095750400109133685509199478608744385407138548936404128371596377511884545247544595282477574292655494074084768241150974190413966162274548359240503416040128803253214678221006185681072064143414533575558583441377544916028298897474978999190880130242902611132439600826435672887221022061734400359840728019917479400058106224685797316549019885211183995480010774764194398854111423596031251999311076700675819878013473004189475969974890395819474113528209213391674078876296213633049975013798422148404222553598265953863846070243390359876524598111638152276145957424737644919109379345614336679971576048861658110554109748387074357392375032607443943842044980311499072704618176515953210939550365367257462488806573356355838682261251441611553922390979595519992238250080143141737084537250335335878921484942807362956141121991441715710458069505358170544976833646375601076327999856556898450775916325509527377642300292277044778760466331981937521826781454861027105838797593475547614067740781012360791631228285553763138271110582689953346647865918943271263709103635822085059316531777259283558785637883100592948382904382011864820271694858977279018127463627926600567091229701788216716488831664694345298563537935342359180121796517482313133965275198021464194190441725636968214013271510208534385278049505235283566824406870064592773464405516568015933792082416307897516887440454407872295779671889640497100818417485338184514511810854637308128165534965597210092767957062169505143062030258068502953053653067606355732752039459324518969020870215606815881118538669711289204012497762803071232758129956608259982950997759810106113073896872214115355907923343059401016462747354948526336635697833731470230634288253538102512843137956958171602130999025532467467877587074984400983254017070508457224190772740174541416364602097609903855238591172275790068755144560574790057792787230997428840976413813134250944410472580966950661262431495932032582370303349644450552570341225125941389632578017574606743846645472285963860012779138691606620020316122685170383646973322968228844760919297984663264179388325644013448203788568055207096149738756752396442902332294159914497456386468355254743933742324107102900999570676415648360681399527883286359496760148401739298556328718664574807730474827221415146297549798657209109317299561056441264006521820397010503166481995230748198393435963630853184262324248866911490065857948642702571073664040102900010806433652716354922875570889718357526398004843619219240107282729281733269502951772843783665332642938061020097981912425659577249001621754200764572355103776766590931742423130374106424399509005523286921417820091556001419054518303200752262545868950307893869684453615450158737758920729553004123016453715197390351809451858661974773865819757786002407963143517144505038852669681573768083287710836487580124697092116300196587974617073942672418934282802787463139575585234189445751641144940845391163482774182825928942871896510654184791179732049496367761363730570107111019811923282463937708211627855373304390445207768399033714929154236620539922003963450025725034524415729187588596849836303144728600085345952038570339767512410867091807153284477998628839885494267141727429851409889748185274271420707958027099953188217214368569401508171760284587658632027109694539926444376228752930594027060128149073670790801524165382217668183011726748365092385541827476746190224143911649064950350519643762241165853962569635313189182601973932146089783874595422585937481418213822085774118229889612717273866031185138288784344038222214151137559526755837360793103658751967863993462290335256156579854655638239759237787362773437079736883779649870189980549340309753243876371053841314555852202629804157789882659542691698523140822768660866170640823543673718729155836055441163975658478726251746813849128320741258716223277631386689160914876391763313470000711887787028194773877596271688924352628977405101973410074901500374331298346844403475799489270366154258708279988779521311819886805217440260631269006545391481053931249309445242751196117625756278802878194817981153585225288751057631614083026295290540831572325590802709517862787630905607812755272597042859817060317326301094877924286531328477972593847576017882195966349948067826982858969485011696339548807622613897560365288579440886364615111691995855731593402945760024316027334104920626938410341676794164524937238934395426670970044499398791533672816108649790207451449197226773054675264257634500737404796254507771938207969308165733133049707941247152989742594515707678841953218236263875985807973867133574047720489268219826032787663733219819055739719624710264052152394552938112346331308447821645615422271842440618651248954610928200117284685759621174435678951974351403189936141475170688994482899926490058321456874338528120651175474544073818899479321955387286948085365169923409226156771200230853725203767089523890125295805554673898698776104990899065415413333453224254770095510301608038879378475645502280018641758381933022855110642795484956104996172344709624212698770261021853764866778671988792895014015472192655607234481052030663746057197022617832753606911890528884482349083331474366946826171189531588569083400009534964281864046162818141402515184098614048035990334331225344817539904228302244464840587547722266881421651297016634744773471694922118418440099025626276903862698751956972389285873721104054108836373658732103988014350140888154954324558404423166576381208152421960965812438940512799527646486390222187821521931404902866143339012144546072376575607279605178093851468650307565575843512665234408358987120450308512531860179262456186055725787520613034057254404118910474606795110980852313538859373483926732814963574753484680223063556178419015437291220655517220351200839798859645537068069113684727735504044081163755531600114824037906494906729397170650649714505241351365532089842464535383685328512071944151563191936323865857383424976980169078446417541011670550699507222906761777043432657734964547404110775629557938800847894123025574811199719178555063661670095671054161851721618887706145526433980708199063168495490825794581635680270198075440273204466216961168316334933290195602280723254002722223628425157100342041004951585532439564127473336489635872048333844177022493641829348056057652650588252642520461925242148707949147121764059289072901738740009251697279554499152061350978002195136268109131655214296204899611629544838684441322036558726320651508237536881241721977309601490876205746241976832406946317678291319070125872097921832678954002702668016663654495056232572664093521267207258635126009252173460649902268106379393544572547838559291681424209221442080395320749615562618514667472955524049300445058693416227080044052973195707238102679783509643446324135964179012991920622441029804094500313141721119925019733227000447161885730724029680787775015572996351159651095668686053952459692255518555487902797020021008594100179006420663287213363598995213069615776744731501453512076193053772846152915839552766034902936153796993258743986920621254764625513214668495466116052912309535092621703801847018433233075954964460173667466250805008514547084602972084139846389618099075837814609554089152382990855396761864959840344229056511983832948311947594429991679192865420047291744337106486479508631127003650678297712588900457784449940734239560618420640303961483590712966365911618051323216616852310306173833924309394430149689361218630271439278932605411639693247280768984432864666130214623274994577009782818034551074916951674842584532062348964506009986011115948977804117243906715570425867405481618105807409842116571484750913752603895935391566104910060286827289737778060182316819535577144717641915289605279995762295810491673139172534824699110673474109174994037657875015770519577425170362149933811026027800945680979317536587647490930531025920537028102580782386858325625824283780327155950977532582696253827032318854758884007924644917597164356469865112310042310797667975098799395491053479871481393971044234546960691894832632435465059606508873885209227834391256596415308258291334629237860076056464533247255869751328171509507813507606993569264073300047938257383427260253989129418563875496989725307645681158454327637782340245018484284330882458309902586338344035363223691580090340749460078322734807466932712449618763499873745480353070270727485622796929733727418045289254404077701475215320895273264896241691011272688352090308819326860952051211934262161734057827690709802271469834899078486970203689692297095015570318579718888181735128833866102672959722512481719842778522356322926933537768872155386495396578097352182860049199480273407137116528603346155403811641711223115803527731060838073071875289327559162170808496604470113663121075010317371117720602021277937364790870721626189201437541852013785381501785653418655166895651909105094044425368976622066994897338159793832288229240626273959698724612497773275821914618239355323904662998360128223711810547869250003014761803249916662254520330076844061392177166494180654651679286941529877122575935692389961841635547972729914826940886268094294379786421842661634661635873267748357309023727168522161597590393150420974334533320968518803144366337500100323596053629800357537370532323911685595542382954524392375794623223438145361488301471070767345320131303717086125674816897720707842256942509310697450671959209909723494064239205475614872854093890692510822459630288737742324861752941056540377907730064012459311223595262096438946936465299710083869604932185925542975082639166743811514508201329433695752536200861395947987976522013404464157350109304611733067631275686755394744100640084404454155941478271143135559138402759423406814394495148288378925927391095525355660315719795310904042896146267705479342177442023673239766870084174586889451957694528030780569436507547429024955747866265665647747560294359868106347490658184525340460616064451002205092785923026336206964165551952220656333976477930598423776979935200440384699474770562119177797374104517080671357027836126844212508149829954422926618232480218810738795181953359094623458135312370208127791420237700599106703452837312618469955203256935221232420165532707356912646871839191286769943694788842715906005265179139718355136532313362531710661487568003182709542256301334481062005791333053809676359417937136306462206717260658211329983438294749575263476649755378909317897343811821765785671497924869397478440819003952856336664626824358984111798374695142736741038626978972562989068190518177079410497944656811218588708297894333285852902886181290464487509306916476557353407641051918485884898458508183240305963532639697742056514996883751373414834109690818734039702573893486502273810664686487586934318069454102547200137343046570493835634415686705471900086494772235384761956484696572455875229366472740520081344429550919443072412121982044170600560464221701048022496756072958352172202236242550283742402773815179282776320277474346244063127372890411130964508501662444646033390043616725059744286250185303141121819453163548281291401355747087173930994299145400436227215074059406885669194085678745557809355601623487647427017340537563990620144291899642215557395578455008841905448455265010097696466965353365951902298073694766115939384739280246228600711658278520331860710786082531620211673284336901047486900261759572757189836283603370270348032572976260194036176933295210952265037951280862917981078787207235708954878317874178913525970930331201396252248470578643939526417444328133977539338634542847446405462728188377931674030386744079137748475056390719042596851045168421134109278938459437525599417293426114391239153892269076130451385818784692125495249266630972686830365072275610901734843195547537915981094236067521314178984822128839340644278748069221779287276642514586049965987052610202584211721235304250199827790995977557482056393751854688475753849330170194559811989528363483238135334014801063043613212908918706203797389010970076578227979318527245751281668175970375411790686716191166647266354756916025700203072768609710445440389825746529946960139720893024324651325288975206964753267093922381468660036448223207760468938607344386526756712808039823126467201161126735388884495980220099096948138639641411144525191159957401123925260832099307600700600978410134911204488910253966496987572061764218571485747797087641764470934286290495845505654213265293476974080194601595657253275012293047020501500396826866307860865836991678601194300630305286365240433536550265955048115331101150855251625585920425061951483453779822175342006916465648174511534575859335238189741515743574524136339542052337780894634918927878036362706861445484306930895437067013404638479983951542640336220635279264474925591368259700364615517381998071515793643544650121851213538155485928931496527838672083100291501939095982864955545690200197373527348921927565916141291676197340532527181103406045028183395663421038382678414071415405353303604736534187293042104044895969790532925578253577358611451823702834291584702137647300552689847332376397024787007577421665455949828241808530949496103465374940362558317125494604268400608851364694592372853383388355913144036438517803356344405069346172265245409339278888059159295414398545776026368710050368317410972916853568021585090674805040060346443136346567181996397244361496884917719730993191807206030660531498455559675534591153628583740425819697401764395250970215458602426715793818804543242372784012093778051456410084076339513529867250425718167837242577588757101685278377351013387829040189420235736777955488641540861026248743322533762761435316831556982823952187028241852766645105412703476129682554891263197751185444159687857030874900648517603757908371264335976753861682447307165267450184824146087742875400451938959053367547350560084785435343946098329176719227364963361228787731925337012994969287536557003790567874272502787953259028288525301632616158212799450675565461495157090259215734114303303098296521580609083743653231445364901132152399096547907292262134075170636144400397671436034733386762919001081235150587993862786559849614227552666476168217105089607079428589456745017616364531699506434131724706941616112466353179856948876847245438073627970405051692624029601811986891654781550261857589189186203779062887048567385819056847144754730563123699017355433789037662508422040521155006365419965911279871561436714696611944241715412658424300317689678791071080153610703100637151553052852140167104088366094437246984067990213764348694264562427713789148113840278465432870567891135354448033025910534253822181851527687722469517316695414585145220731844168571599188997013761228823589195787831942375194118939915839193339418061567624172810034472895634082439592629558587907988423597798326594088642259068278924960254312426726817774165029987605186414790132358409070517975292660496321041210623548337108728098809144450212694648470497176296435400390069349550768928516810867165529743679959110269916215398391798215258320165202259797847563742917859138395254890021239517916413813077886707288777454160329868357412375524421520780586027441802608044927021967510390870543639293109521044635516559629092572030765722263761059988625785456780864460378699362963448437172952191304144255184467069355585881394437097579863152598561924471598252721886025218565698439612383540388096831388099656079930792156820649142602204688696761040974857916976541844702079462785319075420139101159597167998341856649605242420512783704143673673997753827191335706488174653259584486271847000655627787111162767470371689669362876993722339165934035785790271499475232897935552339006714709386657375074040567372740107710288951661638505976671222498625488135169075566306100725743148405018994521889674914617307476548479660617991278772828310157371473314358434881084097858126190922884205243808690716700710740427321259239374202840206967637316534644685438614179277747824251858485605023854230271183946870525828565624438400471637712544227246424854493607528358622423622152889292034508543793485690697734197544623556227489261107232444825138962662777603933307681923073997587250527840854907859295560299205802105617235178184654217026773290893578303402909829877042962854628784671951810873852837555818871368529708749756410027560736352312974061548071300755849843379828714235480853977085952869266527758359189944827540106066604063700405315475808901468533916644903218364162471805437813974427387418725251176630635522135247783520215205668299243177005444547090022767338745505993724451006710189471380030655269278107433171722297609934080054881259911120883671562267049812206959739744553319934440278449712974915857730163041954054186085639334507408254010616002812914963874141292933343607532777957778805441292341628001764709180778680409346725010828906666857741257557287434952248387716290380559671076743889672302505289523739421436582428889344613403207554477418867049167502691217056346702114035740712033022547492710992982476914481068699665004882797822232216610821672056016276660129376932867283061448269120564840448931828792648567661957841484962157132253913464949138362371046924856093996341486352277104933767740753910892966250867920467781825676676791550744223279618420899312641511393187534229717179146681771141755716753381736947159993859353051570634553261006859091681212638255525873339012795606522606364225308350693408657167264434996601657001967353450990988509420678255932622818878668283831361177611285659297044888147500101098216649111539648045409576871866916874711978582880069008968325374522481669606559761612907218498524908493234749558912405329918341230006425429895700969509911342328563831037653830977509870838020413512074182660754743791762616393189801364089955159286462639290514889364132294742447875297414731283774359761541130278467919655342502759052056581205005402645179173593147802471926659809899384099697149810997860478447078308681537386252928842039554180494256874974626827844569357371836922720211544753414096588868900236125136819820126120501391597303478451057639404214914831191667333989434653647292034415974246910480652205899512772419743453011405367682000910791712501817398187674951304729668651334444790402872080370278942371592500236377421018185065167703435708559100466659128877301402834751857174368549446056804061947112675187796710724676015612074087506924011869990101550603106581496513744144664364002971622211432908941987377252965659962838891258452891644002028162391277913407545115315914271855565675137388988158190044040919417707321391572472107019869943676498492562647875136582845067105349998651224092947874279635241658939283268233597253923390359170643742641771225431789815471585773235017763392122616878922244555848895184687597599591192903510369641992660186988139468631297603511898608204872724502100711077981700780276454207384855540338563196140141065436820824342705632911150420069488818728256518965734827533252107128811227838950068006118450556107409245200883774846566144508069236839395626069930086831388164330540343687125778259699845487893391610163114680379287270500710592539910509597588231465841012316716338213566744405955908160074867579392446688341646957045116620600267869101939898239926357460639333325274431721755409033604397406320810706305040574000255181390692542056741412022254411018251388153174479749909312714614443028094797598864854100345512611898291255854167857151809872348201839586230422198986801295343466348344652571858949577120577663596919630604032134356361582331670245475246178960954348575018616571362258640773400488262850913188017085218359848400571928741567075377172176152493930719305857833341085721221027535870245261970225609705214867086478433406534725063219102900978327873904922499555593562233065946738437677876556246669874478594840291167181115577125023704077637690171897151803860553031438464354156160617399953470326924649549441456483527868630789419820376817048983676645388038623765479746638849340687189047907349299958882399015615554345761514107382980965188512643347886854233257924249625364383245852480531158858269752457773067959432637996931650915964655487594095379852219159859667830692841781840312962123628020984351741694976711828555466198361261813162087648989194106264119485217012659548084557110021824720975586266697368514751398714538960175047113365885986252651283322161836569614373144141914797725272855042212843291997212506994492376238035948228579691271783759178429165720023248728062240073987516599401967681059919101243617131989530630170059845007952408859222118904854900815187173402814387473669518999738390633101701744571108413492344383037263725239686398995863992283198115963079527949918518936706494322598147109765457858508729308663833442856320226055284915665038532194624954955177715431124021454819644943833006047623630851264949428994043852546119686757511673509338182702653026122430400274764286041411486652543334398832792733778225639245066131807967783962165230787146638481557383814947189272710296312784251795620995572851538896945201526120538449172723860175144018746871830176526659736899248929289555642722760482369793532814426307699256307155538807395903159269989521818898264560332988415304594762763385935429598944938922707775927849508863081653108959563938124720669783500792844743101381458101339295203701809220540030651565648797480504867395143055868658369197284006426917577807927252530652647124813019740780718009820796514547205073322901216689043167626374890275650172922972772157720301811606778047121293058724314077435084329282551670213248580273377062853644806486897245962381941110638348450947176001539682211338878541219184755255905140995969355138463210079482746580613515524260038197309762880919184661506494026682187689382395032724502160210408409235633895257148966993796527675173411281209540844865557894787696426256107912006955607735769722328438940578557365928902775116078886936720408620480515892823191938901083401696348691696453457558014011951839362137841029432412938482603258646962648267682703005475830065064211814496755018302391475809242443233697947830674154628067796555882098302704054745681584689884101046646037584529210411419331038125710360964570650306907995972994082909857315061725658586904682334952418814296684168089625760299966713205740947647573102875738627072387517940855113439865030578194555622551083425736564989866747778034446519015357725489129209337837769756204443999007497137090017307249812171625325759582868722308741584128546479048767602685083726406981386373362545756615080058796981390134647474968622078955501364128092640894348389774095113276011640686383744857074093177578505301155983409900901843809346640251313247414601241695802091094166344273090055881024882042528791880978420841168956140056186582375691598989362510269964114105360567545414449160224440760696392587438163397294513168330533140614286591633819691421008089530017014371530559815514663328957653881083214359090981824190187851938996322169951953149033153343368672801270668185232974993955552638124572455204167974331131427480174952053534901979921336676397382075192584693763152632104316628726805774698237166473517761399310986674818401216136815836727955984689211623617120625374866590811706709155589193075017023940688796372801954344991872828997186812845366674590706742733571497184262747162104630884974397357713248245506397321309341691685042649941047048990672344803893977135697397942554539477305176188169063979235954646342551635079492822035578093962940308653573470993865034797522437010609720373658667549584301204605044753341761416609739986621107551782236149088896210593970291442846813670570299305741528511921647125426079368800308575195082496447998722788601064791118433525430394929831074223175144437474897773874063921704232289138823347600868679239473380508273344605545940505649429196306875425740467749302417914363038022808181057534914382666374606385832519887786635397257179644007251631412077646177453574063404154977153160937014701034490215292617818617332189820940315955990978569065272655625801464698288139454999432001459580998209126931829910023237456924443173611276464703676390317814327307618553016168275382064435385445789438960939798864552944277784854146516143603933143832966471854117109871822139265330903247602152873095960015130435950564292598834665408247048976460622978839045617814071432340143578691655654566376535135386280124453940646436670777016093926127743024726748084893642579807662692931902211979471619683258323061821284853886329830763111088035477623718309691289036141298830285019224193539711302965484755635174662886304858133280153720892581531697336548226927290606683236028065224402610906835606086553320118748471658189664790702423579539181085617501481657269776077027370210380703476590837416911497528370143881675424329848315152574168971001919312710028394429274198271033283603558068528495097914289931583319134153174990976734015016563411855557630797624568735906924087587098657503634321663755161502920207275356340828419218603343573750782940273794336268457839861308092067049058870480394987665493774122394845102613922002659409802334707791312459643186853792066759667468615144701973162691525011429303711608830450331934672659758892919402411531005448865293821946926839418965051029344680589838906803333674568242122907914625968237569005954328378231508702377891249675696822756611812706491573676075177159475616660544831535272399472499090390109303364956303079604061763451003219023349502934039094548809784805297524458005536201313217319205660133855589259865091129987140882950113393776111936809510202009748298755477891651798675888979150888465125421089059769488290822996877615390170033069362371289510609932775925669603937219235829738702773166964463946615417877426087450781188019647734659205384582927294597549537613549978685558303599357051790047064701044280034911025020222993608453446767623515005295134057753929613433303666737124733960967002068178237879484854671182024376276813027714330580313972611555210786359144017270236552629907915602401403401268698957076956059475429771360303416450453920518731315111909691657940712395293798716434380489672673260897822162745750325296712589757550710175832383977468048861324565212461432461223127175211519296720298181875067938389084936585285858228506610767861019262250076113859427714754569252896288650989244590889508640785364793629211676013334477667660286015129776275617311889533002912009594453687964291632518826688437250169593014050359112418160104027301019656530570367498855236369734533283620365064804176736407354087389499689371038153337822899791673695816305100985810720138633560302043600795728812918787763693109156804380964667340134923026628249615751411922632631734173441379673085758238316384306898992658820478104963436348133026550439954448663621127648003762919119507335109287123674590979989328207995008547287487479550212741447001361702999287288776215140878753703882997876835378503674003200288551384108775243709631675577327005470855167315929617878037024087139093134873128858567361338608179864633380775001792457779939274495837296549410584460895685210487125108860780378390052836292083578629962340431928701747882952622956599736930400793462791739528377848761542952525462546902113679402133967154698170448221936772095690680855981129113922895724535963300270282613485391836921718030939352782580386253720234859887767298366555629068821382182086547708276545732497068737729271721635796622348626662413536078060963129154923999435412409209215416128391360386607122155957221837240946525820627536989408745103978612800414883995180805132906939071697432272084770227272515571947995476705302140462104895003511202734307782567937532730125303027264343663302797888468624494434332613295270341205563202752339856619731657135859103364667789552973945157161856932781154206300233314122863008447421629497376300881729873251848748807566420361697595604270473394714793720153605892633734804690617876126274337078052467423175864066359429590409364874577541318643137976652158439859889784719797857454439303880314198054725043971470835877152154008392802928561811277333204080253133212087031690125182017271023509566230383363314791017787136589510216870370925495852439854713706532696958405145442799754944725405597576142777555523579829581177115958860680707268887492274807185189061279061811554832489796647620298892575183550015081955701900222253717983891393732364026829679630315319972434795734299148735831573422896672782697480731422835993405105374785760403309625842603351399255834545338496529429434194098431481943304416131102338100053477868076034386922279181324652557301704901246912522253702174896979038450328835624772216292831966380039318764219875139761431655868567223838998112650301329477630528450915146593193473303932373828015529892031576726972427800649564721172923964212141045064261609546790141054107528681967398886787693264975772567587903857198268328799799121319376502714430644266744544110315011659873146080089270085313404438880292703286299619350876485276686439383250681787531113694295438591605446169758076885983972012525444270955816869318336334580543904646924557844356899356210358781026738125007050514504118673787348334940758451936791926856135003698913422384194920477324055466269266295148534567728141740847834825656180272084617128557444894592360069831023749239626865604905803274523756817276666072047544313176133823204101910941370539864147897494319041380030001387014764272816907323206147046031486498527933883475125867347929583521454832076116676107658338017471214029062867575523152895113507347412811084269256181501647507198299928684475155982259726893030464698460163801312918723364365098174847860264807825208900275067258577312114199441884170655057047072928697537637795363359328975344272314233733676677033168980784379406731553357859527812255378062091748396675378244979206989874097518557436210141922221012256981136219271909974333824788402044490277727454276214754904709960722651281351849981438579643012521471951751042116942388706481341863149610347414019721576812890829913093504768933212817717736707135482739639793295819277527170479577222509754204710271371284069604536763459489248777282446343975124048221919814158952529886785778888625191374901002648799915656438760987865927896398897337263215995843862764049203922822015813834853917028414855447571542244862743916563037035187139246915985848642971335391918168810208682024322600188816249481086735581633756384298679266577759691778919243400014278477246570476810417094441213082478278002410607139744719446541633986422412973614287144586330552241265800379027342101500674144735314944018558388691083549167053555420658949408386622846555730127835307719435945441734663844183954074255051776398712191083531907871476190699582757187992421132324508130850763233717497266219926604851268171454324744455332251978486482596229720097002662322415862786782228933506166462044464314711944949199806230834867968713007327210017354067584022973725522184612121327111237027957972766128925569404961807923566150761371642246187144356164178993375968443161432325492174100570451006161961612799411119750115655489436983130882206210154592326872540921896085338776582705113600551129934835345825131461650533655114210450948910547269600023460074459177142589180955612065138360701830046453637551093818720091172036954006499715262935105691102191947596773253099201510557398570877021758470097176824678881672046061475541944199487588605176900715560660249674026166178482373682906543450130292098267172053404571331156927932303122368406558692681468432619460686793078596220802733669793191307171357797404347249898682345825765403246666051552710964622364505792460156862260237238476821078219657030625242280910331748308608203114094049783913843796389231648295098837115497136064302141945994864844699234291462271900600577531456746954095878130868633302398795481964233912100195618795411468366349882858781687570518624843283413626715515454156546774399563073160924058446302831375449427249314188533651271314090223906028478829313537709292419312419412632466207503255420192057763380124468937768345164418905994815064712922787219655346937239766717135281171391997285353321056888485813824166580644811263366535686591963090515856853866079690554441062090748046041619580233387195649934947545331101507667915997736752782647533225585630720031554455144747974098158619554830561576275440157065241742648064833631213507082885637775499962125251106060496430358893464099981045128471860513244449025548239234319341081931108051567308175386550477120550954124921418493580341561115154499966805946887112682043576599441979341969994865369228939631851841673921539489134507517243543701362157938772803518653908411578021287316209944174611765021650261372569517472172308084709630239621329767836317907372260852715143858407092979631508718689869617795068353073207860627374560878797477527000638160950753731354472647584830699869722066149531921331823834899846778968277190107733580360210108561555842119732443916616830063868972732348087146822958291163292777697900182234489597488886239999730574174284657171367318149757445782082018503239635019249340147249774284481352481867992820948979248972528889906119500341752572838004824208035458735997655488188496384897347426343701638735911831117965901978386540218189233150242581959083904525368729922647203648199150311304226610169332946456491912818284334015346148733761576697259290244456362399261468877257319960190350810959138456368275339784141124894413476137979616002850115477106852060992379746021076365013408517982209815067448574133115723217430272992768045725249815301907017237845229436371450607464264555362528429120912247559587501773391381411685253742823667316242572919590594003007319756877004078916790648242167068136221174201378603861852455046440522138004089402333583431578642879960138565859937561696744727251254316162195291033389021799983185130567610723620589699031540104757763545987404114441014773968137969052391483345889054947460661405973202407261106623800903634928379299209833010566286672011980269695365453075075074038387673185313286678528886521144867888173300006941882696690083684090012846540623775187922802934971001745979802276586743991921487044239360490348774758596426002137479193065552432128657068027565395282445611295082241549670914479382069967642465715190284430056270873545276851906699143098950167153200368120004296264221688276421275917044788225289852268706203792758796972685149086726145271387393079573756769893967788322505536858980857752635924647402139283939769873292751614552355227337605430126451863395680774390147351365367577456594684812468019627173613426399164043793939407119474183456717636994312455335326868347600620831475072153873300513177113841517347327161286288469681640837543497534410041330869647708072493193148835315647921557703202473329117832257559439924191559854714030699371255205436461318695163923212704985459724786585784738616132480018940316008237187442548381729910504979118798067160246961172785714058942689167381333873717448433069493086764324064387571304538658501268802386067037165983118049694491314767942942850634027004981559778378787865616462209872567849973923821821160679457934919835048840531171676929160718260260896155900468060795821556195878170878617644558537651562749406497122991733180806538911724544202593616649222362327660607130708136386892611668566424643732239785778399658162932183556590962900412532877737731516774119478595601628431289426768444280522156094805621724736820489525780473659150463621144582139593347066987699035292392671971516250313373887100667696258501109847970455919064669614219515970043387915008962621310865191739699538943429136180832526629019900081789615193450308566902442788739814113520042071198245809588974194336056759983569189600575499765872607092227234195776539172695556446284045824940772911963358636329786171047721905957604222274205388222002960569732067201518481420224313496652236405699822216027320881815196467778002647772342144553148181450337581516596930009959677240951709391442860302722492850144496942380343653199388252139016203774408823630194968743570301758959771713051602860204689704635680409002356995387183983659257529109246836887310917969839964380776394475295842889136053276940542342772653673028233171276903739571813547368452292747464564315637929062007890127181146538377044664714595383162277715770985561155588648991799495137313758569069251888655325372056028168774626260595048065245422163904131148631355131361632358547400921098277113636583163479710594917234156203604371220912607116526841048242610612522749678387480295035713109285174262793459366038155090658438273414046509352868865773050916074955068306697161091042746577326121088185731033517525979928294520710404086996071835134829824319305890924333425909958710514569462568483845492965232715026910726739812909442103678047104000388833110888923995895338775836493286426051843079911191742095620150478538098214290213342083091992759123088161536164902570328791440920856056803718191929407221873751008155576637238476648922987528592786366825691567135891609753901564244940472869411112873537401892826839502991 : 2470803810283628012561314401267096715699835886331046486332423043670372839428102518317014267886422347433533827649621170030260688135661773102520525089638497002190185326377550531419227440137923270500886103066189495882065134377028363847363908487367639325676234377146686882884455818386736011417441725697325998539481876248241687634860829011035405756636562860652268534290114814389739517255782237661152237377421692985964094079737264846568158441597492892939516823111634898241549818977220646680158040159038616858566655867679493294122644599359528490300404669412706211424643827052429203501516558661750993394629703945508266471700311657140841128686361493876976375042969170749383002112064600163347189663401253261197801590627065544144235400378787190644879080865470322482536279152257737696324271264219846625682662847767560223700256532090544620046305338574181101258595302922197751836710563042231512362828153521865023811411760752994235035469262631004284443275974730441837805055715575292318633168087171849503387386007957854140637294474820181923920233704759966544148374090348405878383968338215318981897449365802986419127715234795043945863318716634411239338848904448668201183447569114938318099966230775261357556817829834452879071627902393959658027072366291843430351537197936843234302913652796063264593891922519379192295307360996580872903964124614113646084540935914164609703873182392038463574158152245942343067970681857241628359428446509112101324175516223074865954702324868792083406148749436525874457396920019036254174246100448930543223679403779766745403129809351952046168382744544520064835008489830832953916150447842032177217061518691397618321531862574851284177728274222421655151710392997239364232182878041097695460207243812082351238625838175442887522588136467224735176281835761077982901129537585994083928656988374214406853538082709115740095905516950123603267433441972238091461109134723443705478147914882739759769318192230810275472762905452269087622410627632021954504647597975336521649585654747617066901329404940464650723462442824249551420549041354307508930680425543124062098861195133058346444010550620647147468478884841276735950326550201520217891427591260680745244308939002844946013238010104776259416555717295196909457462822411782001135911700207268235798429198548793599985870867391747251565551513367804158045559317831213207026659142903030035961337234190053478123077650914924606757528892104284066950126677983531765335710077905444637463377235710501491719200448942501650757331303181861933923773469913697835563637258667485395146629136846994897956315771632026035992940363475800805127301728712651077233666948556739501643790893380003961678163349442048192101939008193984377487539853725047185807342693713713315012719628663527390019270624250463722188129713260120142377449211045740978096983020109306321925839696125379026547926074260516132031898913344423475313312964872361658337137498579198373246291087743004819976179607594681989837729006277729683579406672425373502879948241344315681568010418168483786265348387212705134025549695011959264342473076425613008005338526041201402282712868180559284044354878007603272028436474724848311507841257934093588812910189955743810185220831250380393317558708521733558168514033096943895297155713983284890261319731833504758611303122313107100607647125948931378765860061834612895234434847803262941056863621026212474621369138018653312398460446976275716236007865249871418668410489496240637481717334355841930838418324451247124457565997698733122499123670529255937313373020331399349180461709459177298741804156995670431397697072739464928921979408152406913387758797487123169743485546952529341791046562867591835870797670516279908653624735028773118925648577211727844716074267406190881728527388149861570088467067834458072794014231866045505873785819052329902929357401388135993617903136579333529435368796993099287194294114792309454353083953612321905729403803431684665186247020609703296861313766777218026498214730499862137133015251261333756552870491432927935413195633479922806849078782045825937582045604247796023856944125239972135066663048131556903102787459811474036578342353119439827366230297982097475260866568227928286049668692909761693980317196549758769031245102647943524731352417014935545223054022708124798382747176807130520805530013958280856009832811284245869146214661478440432549893543609300737361216091299179501354835692021244474529363562774165740180772305506971519342356331866429545653848261284076117438579264749206531801621263566769510733805620335548711630080983319038525404680932219340246068448458426239346759503745934081539207036695687241485719478550838590753128373539313053848885852605235505165105846661439485600849059513209696380587512250316868606497615727722059308851951687136157077673992114016146087060399441589267343158774862254781990210319705469257767079102079474225021302799149818216235852580115108980862757089333038492773405783978094759668049933111465548926413252823659659770695157355090806010465761804369551476108681505949045379388495216325822580030063027859280203732172333674592573367091250491963946797376655294253025949930481760240542625951802676381417758275971033058426830198108510012730935252130881525767460144197266852808330967669172868560944784447997582420618149456458562234027986428686700854870598438432551829941986826811144741260040918840598711346819602368001448270468297175171515123110039241440141371755527136582778006077583702785009932248069846802657124243296397291648627356505824521087195179097828979120391627328408909848142529624375982430880146334566163923730641756049141320684781932174535647690902939529978654028619815617267454010346233161504397111500862176074289280050963124233791853938451680091208848519251759647371665174234369486477222108180664213073479590538987697251269504531655548920298922465113237257885391179356350430809362859185737587493256133856680504391056488053677889915073634210299355801121005364535083592273492807364623005420812676268576095564618583290674745840823537680699266772983499642466520743560859075943008127074700401662530895411022965290987880521657450020926630206998998630196964764558998139456026516115107306892481873677771176901368068410020590854331099869486084501878203842273766821941497271812305519294794825387726785408361288024389275443138459539063949737171833647308739061797621230069304590454339408351537094823813483670133365331048979912208230683099809858072094161526187545580828674679812836384497974504753237566171918408502879342918996107793910168772382520518284598736041221975277390111773834332815469129701762302265966307836838023444854082607804479062474618514201599495257559469441917995849701475865822301884894122266266062444109618574340245044361042632402818283556922585686407503021187677157449311566007399244929372867681328889322439542647632705731881226064632453589317784544278549985098919867647241284836010911875154633836308820879380120358851515617325688426019196257136996344422818473864653708097020436041936413455671903426838513310327090722530027010781493305955115925959365805962403912502388066501082907730013263054593930563387325479620096419053241596817176345960648960170741965783365742096644160243105932395064289566007951258493287337723326697478682817876346277956656942061047412997725588439521282168682012408014670516897132143503945546995188648117396427860771347987353210699370100820705902435063186646655969977818306323361122683360579292560680095891443997683831513889739287767208813733805194931347151459973637496959644179458709287108284263382289997142416922458510465948651558195380167450278597754907101354176586776703881152452053027286986383420056202365318668895257973823070503102813416501632603882828621349323260316356223977380930105224487189086043940961636311179879613372845472890981166574754231828493766973946276749613254134550498099245519432648781641733490692073979695726152491155982101278407876227414829310835185085125761552917741461483360425672832948845396739084646347148451493649636322983858861869863633699176758915534000228224021514857338545056824988888418971150894604083059460786939866962996159405620605132774361635396786161494661026687398837235868684723825391606109713295922581943026453511422739188832095589574005460604822670914140909396273483531779444016076299111682700970572792938596035034563822876776217983299557452811017984519953920994652807241448880030825269812084213075461057475149777936737090573516758614856457498756284879827704944710492044671099707260600160070683455165555481747862282252031913475366096145683719253323667358360644610717512760056136773649246318118475719275968829445290326662492225966448773295956886420070913797755079895279156695810250014721282110054082790502402134964430200073353019046658335982001609129251537803558670087717831714314118276830563130679625829887694732561898668020822882990074018046906743829788056179337465892103228635355142183743217780309965826589351020402237560603366870894236729484759365934813399756233122820623846161366268188919817376455611148787268826392443477008480072727787612875957585068943856921681362859947785582507050528547519133295221097327603748783273296583503445628379921778645333466645783894774273358513267421992460301429949942915965948100416244650379562588980493377632729746860144257314049532818237364329682594992529598366243248551786984005583752528911771199806225650686787849790964577432689569699352286227805818995831413479315669969346972139792093539206347955377897331354844840435121558863855598105434731846783015790612956535744469477491497939478761842258514471977761527810304063980331450969259123817953422873122185204180054147819342143969039548503803720690343361203141811079008796801778939193575703904680677596998463251517801502101433361137059496581920686356510064976107983161658241596686774843030342821004913908853926886680515962233376100464719319799604027356645467260892215604452132116629875775284985384000789074246715921378196987316064426012343286088372064220733131714823127729680675558839383338643512721365890636045651333856137952251617184177867407120927401661925297108130871125028287378172844850235811546279153573209393410464915977014619943233156728682883297381079005028781664906852029555078453165318255736996832006576799520382578707634729851875039608759202160026693635957782282600194139207422483767761993229815904408082955477877919188607351220639770289099683304556547831891547507177506983516276809446052394275298441146396665616186083970819012462218624391692417412916211667693594698103289441605263733117789077347114220297812730204953173338883027028538708603472056358514111589559325772001949569454515404721964587467226456571944705164440332253593340176988523784227389927191672066828105069573411885223479567437386090937513607066598939563670106123132308519827669206840196299027248823825441471293840564301510566230104411953763273605651236935337369205768534537478274319682643852855801109847389924841938596252720358986798958842140469374832626740138324234389635326085674837010890143086405328054098902483450515908145741279311291588351455347722423103365041512413291812173622421555329243953039173586820607642645383759693619212842554560384584647513639700260187215538554856741891756199736049963179058039632175226027031279951327878312625053524806352733249598188656758162645020564387027030035427114641714490688856556639925432278087895830954066209372985643141776534192619909931639062151394368156077384310595982272926949562598256620200341051170699185958193355261599650599204071244877901249807990592358633597002231683145714666347962159701539521781730253467784953186846390240357420032922244683918959656519444245552599943281427803854770613625683414555927530294125341010495756544889927466184331864123070468028170596938831150747127118958635913126470874102629892760264928255813003959705518028460351541775819104780022828898003608015265479892830729580034081979753952186071584629513543724026587686658294833217808455675051487361943410252048432882538227714448410225721638608079260411398120882973995730231937577275485565067541186195824827235111750790488756205849656980817522724676451814387284141192335885024942107898945181952426892897184648197590103258385116356422035038653048334026800489203183195118804370192696555543199687777514096794977302825705724776840585325443529137709976524293977598964407738096847038280635067146036470473716698758881410829988729328832958508961718510386789058558201282975031406322289317605739303312059554222373462114731515970916931025239729996741928687754051367702787406616143336807433471295279894575362796793253953905792913621304505290887611721909083001431331545024251614751065661499279610995322549293313578190019870885312248950070544632316442252682463432284925375362023508693893368621734594914377486281280902818405229786678910244121834571890332808377299834348343308844164015347736171736760112134442016625502695752326221221988091658866102480422320844870659610641093142698879550599814680669031829782352574665207715613226714446101812898706400943612548634959760620930067040177838161172227042467686646091109387190144879258243466692462812070108415485508552963669569193511140838882409764797843108901878631727218182133040194422743770860658675044104558684341724300462806026284289123532992441461126325814282257106707280221971277694958307554620260809005169272270924526254539254019558064195661506071783056933868181041613109898304123792439194479240573086583021831400911488486308684331589374588118646124672826734543434168906627435434905970265592250600437610096026270472051395734371516318290874039672429441284695920230995019200511371144024511962279975494074642407331992270044472946953865315270122737560236662362082299105388019175728337619363062732302414425785641487458923012718808092531446985836457064055443264488823892437792902897835061009156112963821274562972619794317881605261082009623858597873876988228400835152182596880571653973933871556315733239919503799845496846832380025366391962502920770811754940633262103472483501067764934874098357768248617936268783149692153201691210230729243417599857440123835758574101371657371363532490792542858944929226532211990827399600509118924746337875337574697767303235863982362559326742231043709593692478016629981136157140509202099879959380595301979740272494908736038741833370514579232373330554743560735221937536284739634826628160175016278306916001636891625475453904621900136647055119030705648645084270079435801295683760277072754673951603159375998828743442382756206253565069514326550479785159534193734491305063956461967317077289819073952066516598486111423157906494362646490800536097932363435215276185245379236112763908921640978244929731692757302710829493423935042297383173626471645916763118919812114745743963472352485222144821286323300575184564855944655418774083045201528613061793422765236504408112488834558607137532457586982345581486935769608422810156403595499142302063369014989365277205164286876988288994280008689515481773426322170882203837865488254295174076380426247863916512878657925755587096380626655658331542744667179111777569217149949121713247039978391206867610726241373366910633009544610119790859241927752269228416033693544712729962182326312693150660421531080301969502357324662713516128809269366797268872589104970242551910627671868335805236571460075979195364949446627533506254842593004407053917286062799289343962256361264748784941566481701887104062809098839228845498647151646027726461192348984048718852963841691634545834952834132280445246772386850580386008602780185710784004563210868485703296909292526569561964552515387662528289512860494906469480802795362383827786159098855033426699554178445046843006051632274999161044553690334262223695744217609092378221909389327999655937587533486897776254841316704610801867070999066347987757081666619760519934067722224921298600089045044479689129963384814981285547033855079082428851120349881793072300718928646632641505424215696566709599741590302836644017281980398738214746864983686362765802772040690830833424181313700376228304675208913771970124069498109692307561895801419189525425595249465730807168326080430254928220643427464832999859932793284818036947333119521885327678368851222680138737382384039028634139275305017231506057777898757042581220196717721645710763219469383123760534752723403169263881651739434378096207888954397183977002537060748073451450576688440223827780939400414492421102797290420818945070702971779672122036772200810106025285220346166830544815817477595580009689039764553916134124221927186197788287459909098865805313738674876565384149257299408497552819977161893880290643924252472722369878448109697158597948056740855369917554939896291548386944300851608301591305028457654176890812631718777895153849009602458088018014254190551527142147311679443864682761505578450330968093972156542240390504976071409037895232931347393962541337125406283495177351912469985349018528562472037300019094693882012295874550634538757521087665015285855178443577698841831631352048781076042788931632591040461356419884270579560812907170039550821462005955417576488953155783659405077450757628692152919320788520056375612282412259604161413286852914780102202336843364702933461450815635874820982096401306960742279482452827866815877114150529959202885073679789126536290412913106955657825900696059121164989426364237785469932274866929595031068437174283390828197341293652944439855178340983284092420571597785588050126720556012758526847343269698771188735512318899011034802700133390690488215567165999766670557811154310728157537602123782392544030717603397056458864927036965633509447921422126491541794843334589027591260709407785998797337001757981538042135777946517893979630137704451926093875769647718476241535436113636871700101341216226835248397386066690040198800040938596501399410321942580885586073442625944105628494887575251516889192042908634418156966297498372622720890346949752104956211749199469375693725567623764099128280486652809560969459158869750856406311216848193833564518954222999185860163161137866878411817634439135837894885314682826382278760753431586002736907942957969767554460166795575553194920653928814100004726600722234893314601851872046823348028676268911194890896169691088177607217544556189242702199334768028820407579869607639634540921633508580578785042258908177090119763417382816145279950493983877009565870094396526214444285221915943565474969038905895772186914833644143620590438860053714430274412618000648568407946975135945514789857165479970226363854132025410367955012531586628875090339773560916255860438763492411123435708767729366966079221949657978757561211823540981837361282949251590462726227789627678374121424548884688462795653018175231385099243863666207214971949495578642014403722101577540495171644642482043268424595305996747025879266342773711171092939228897213438872989656023042674452094333395049085062183895323656775988271834438330511086245814804993633713385036718475389303530093476231307901396942631382271165639168577387008367597842103021968459020776179302975945729559944145820546456833706759699549368980880046704800540096174452690077123073196036516178624571499314914589918399927660247463444369894492647734721863675950634509000846393661651510822172275320840216626838708736357122965758424409952757234684724772123717190643908669130306530429025719272590900658538697418457710740985427653774999132280612815674768218981346811038716911004052808138664259395129917298562271324956643574648583198004035921564838089802928859583849024965391541404501724034671379699058881557248353766431927554250746928922803213427986223945564966772602822874319180690270412834472629782248077057353037290877242708774310826918006981687773428645750052770054273354715454804095875101082410760589760320651235690673335197935019914014462893884507323185351309243984648668633605023612358373368389921607613667365330319237246159251299204792617957143918283723809753903104404306140512076497485249951962999455141907765442865577148798628400666608740071940758459168765788913864440632472445122560657790656861262003206836789856403594977863979121417582976359988388752981026534687826742518444010450827842580900082652155940642869894338614931194836660321564721141031434541546382788508433744327659141830837453721475328163663974999058018493006093434800507599469612923273402288914182025006619146964647826876014385566037694367958575816203980269518614916984637194006352282773641868437231706588164860309274912170567595893734236805765039944992273569053949543108473664165891580939461029235545699614490571759840074822657286222800909402356134125380722073743383978685340623020690852315497757551691343809277395171284541064593198309444216513501710729062131650092360833223146582805553185522596501274427287499978172139027171881219820019832952487418977243112701266652171205248579860246820097606812975221316065302139879697750032583818776205651356133356113649222247653567966519176399034045191655836027959159107139949762560564391479300496017735097716317212586845060090109451037516803036141366107744384311418964963523129274326684634074342291454312543526190138553160057727416384906636516320795424819228672921010484972584475434999097591780109788759664538042116307052141811392674052543343710738265929902195604503728399749609289454117900854007978726190429257920419800288387803212036474048674209487586749386158608976335148125731941599706601745847280114556636534291052268587807430981662466812678901363293170721016125328006794347635678246877363727563394220353669752010347085836495835520942056856737141049619742711549344567185631560086639986166549359552216395320801921232756072044954455738272262721920673334513933674070896483866154441737346220320672258775345502594406620955882635764898796603390194489966101859804904670443233087657201866767167425857063247615131550233658297931428359200830921750066038429656557472656112772746778413199279323028093892223382675114402415037600427683550430945897089025412917319026938866447006273252869000003368333722732276503351316414478623126506084976157234587701813077421201871320544350956572279553829670882964410449337242914119295869785923886809453297905753582194745478174659793566747269453048965480206884296336935337502741868060222891108754191860543248502768152707277690116056493506240713951603736954492905074113347426770087147508436728800430770138604443597191554169916849069747240132635051027346653399597025616423386534022791769177725107285025105265991567047139019633895666686421567165479742462296041624068199553890689656373946075265112119910934169191771368801272447256613881864351492707558817629445131193498530501089367451935958677250676602124748602014034570797167371771063418462733125101893793758857415592334033310433276676763675228498126590489730941394226988397475910197047320118147270802113464472997260618534812436470423851574786357716733989603773869449214921099954332619349068306267982622230997805552258019190385319824251328432934090981251840065573594356200452295147865446843615266968768710748293825001475163564196431544077510740870775414063203639307758291820931379950290160219372711253371797111181320714144980492971763415420731542420304605189966769672369529752045382810155024673678439378578898887170083427386225765447200438274309386967925037017899263849851095621738253400449620153828157872129086823579373395851359429908003791176955645096779691241309875477935541328455116109233179449373387933451768576059551993990475464569854098431460482589438127382356958731875396363626035249739438145284967942910291508346397537731207653834312886665808260340275204811868228652413535913333910864304083427385645457736644257333013905188060649403932579033038889216127894568205886487631445836746864285620057104867930643488633745127299508770635717229880429960678876952196355805297993723806229213460684780755577980180733724305138073057868695213184621489858882596731434902014385478489251208047988222968706749831398305290547094594384430342155250804631505077869381228735405628340944145497103437567215436896314297681538814817145778361064993616851579780727767273206121940034283310449457069390883523490156435162695947697248008740114203028795667241250327859406493287863444328138640988724786613164496646538420814932013636959944926354292597285981670410913693604718146488686730361924538610438982469596713031264747659349929286135146421436948147572047721518261212269060926014135217556049038111111356635573771841060612893725096305364251142778863216438267848815337816341631564995652587752656768044562343635001272060313507090050815153063718623883138010500668384137174399570320315237744613429285801542780539250618278045500368927745336992090681029090890973844056633669659248630449537049093853956359000984979405659094131478082001352839725496076914417692257543732295607018844888036642175350599595935005255618276351618316737075721327903087862415409501114561554180190982413751774187271372410175338674028960259079068483098652785707661903098670435090832424200610854099848001212021377697266856384459930267328324284068457363180112284357128825476691045336617385815236297822963295074008335621618262932459283175528366117393276105875635899255968660539545235621665358040141293134463712732060403840319474907429886109230321707484423378493002239231809972213389479137993769214231418607555349787854221364275061429094035251291121512328385505425594380571975937314505028158919166217582636670926977631940504095789878911662167961117984427037689884616569792673821548355642787838526974517023638740865626794471974395055642618474815916702343090643108395264918989395582248038715515834133486405397962123837345354164858744366010322194643482665367013712176455892623308918053646155184263478280904503620725690305458231721275947403192923037813489802415332860446578915872540655110618673286689725479888438511839070717647830242271048325851380568440581000176895272332909048108313151762703363337810167291660688742877609824983366384449286202854776476621749504820190087762729394470024555111939634769089084273264330864896171640510217452282850194341506440233354386895048116575118193557244481716060542576520492430754522689043263598756030876247670491858973035615684889506962691611136381555544347648053576528231485873950674348181777457681289566639840213904309838322807256551351138257620534915002418104175437080624813377869025907012769349195718073251984092814353503183089322032436385144720448586978396648312771555124617951828082278444605965395703762560180622997723269417183651577975531617950163573218062492552372172618042515436915220390097629531107659222700190403549226786691085197356512872585068884824975196206138036520114706610547366865507342088875834774671511725318125343070865615780652328158370710467620177949223742659297050776131428638655274906995659871610647169022531028308747586503972734930658956194017449809198872130916032596095653235480086041184267698089727207171612121383325141488325846344169459040790272160554343021316777113468577464513101883356695429199780826168484416811660368201406670281086668451397316757520707139246689796270276555382517760385201076796081930072866067822815794419819851290173402833102954576256123578112985096486893385654493910015658473575865135182933654300362508006213840883389174530574090576530798173790993634765786992307320420710538583199678882853561014847591806676164731854096532112028277161728672497458784399567473970573772664093998935672939036005525004937000582170940317376049001418573839204175832688624286144005771074078260554337888303926225477856377293461691476363598029898830028799902965005672246001132938159644670954006703203296405216604234157918356708872076565739741118901872255851893586238174477716461860302129418731490689243246030352906245316374658619904175352415259104559270318647843901403445094446103153897865047451723125201196386909546400928319240970360608930081002022833018753631294967678252855942491991043429883702512204199163938468090134482796289831686239505170384537478369901866224461303742442861633801069755344838321240199936776671427738577571575340298373347586285204768467914742021405319762026554935400728209813110052974992643834068329319656489514982649516466584878498688168720527410062070504961380785233717312856764102351773917656698764128616536570332555109156649915911244484510965198781363791884509590406645744754936906395812677803152569082863856195739199424159271977314344911495274934199815007016391952132999674124125387982966008819116886346175377877055891460303505093524901211676626049711456081740334546424622404886808430125396378121329414364452050146310303271405665017749025842630741758169683376456844565937722089785514880831972836035311065138305542883014936385721494400071846643998814401115147253389648470857403010615701911864107463790268203935980289814240815389594701811811333336441566257190967945625299882993465699759556098229320108255879715975125903750205944707329986440866531422119762709582073774441746300242928651642107919410539024190657955773260698902568152479126540025255665914570354229142460789528386956981164088050378295815864142065958489007620506830157549119024089975371543779212535957349190690015075760756329953626817947042466313123428790869380441674844034382718472590296932065888938542428796712795782967682536614528638654020784398047181231819876613034690228016907748287565730009278967602316358411430422283105022351706789433377362481351785957671672900356398139101073707450501623032255396500142208996779599596721954492172708805838262680591173023293103207755250007216403790218717208579512522668278221978541714285153513267377059315168772651243738160605363077498467073401357833854394235102627889373704111164367247837754603825722546141740295174610549528623344262626550720028962262155806903696027307562766795667669719990655307838616494958170009750577404972720988901281475657707187629891655555317390090356620437571462747907278589932050467770742656490321194850789127576230413549828042199824254542643372075278725591612751423374563541264976534180920332519403366975078123942629305712138870478304257828793996886725527150779822310190371936866329076569212976643114589627553026838456955652335836293573353633750615191862089336472875235230462082373195282156753552143079323696318422689989747792099596867241011313383002511493617088902151024241123047146224793404595757187059484204978008261639507834130739875523626015534167114119615639907708613166009277708335348908858179356439345607153696137240671500138942828658473185261276215720859089492674106919499615845220556085980850226374158988184610015926613885499117661938217147878260816735199930188395081628998223215019574184163200145628520533419862117188516710630224810266945579704164777954922302592708733742308550503764588820016270828771116339062788123453616432860621478601933175257673360081622656830061131516634615045521564581294549373100308072016086003497164560435108132241803574228096558925080193714662507510277232056625551151967392524567391300358128757642723756996216505632962637434477900564209692348247295852681604401571900235062603965794869997834873305664800797410457948227727798106228488430036933822368499612388259479280387321795881593642423110883008274397249353915716648614957714788863795302500786884311156694463805001726415312171883950175973020056727573157854506328194005626078419893989694690516638941852578335110096541831321194762671375479081231819374164827870448053262165651848368327756762529840587903594285042343900709247433411793146743450801173257771037494213984908158806270460928592383067799010106932263601478272736248721707110329384950019305436971062508912195657411216497992002291292191248470452634538404808904987710186567305273145798120760626518521922588966791588937255163036165112120759070689458435213092935865848505872546014711570502295478183342560665975205602562429698073351774756882271050778181981333350266340612659218178082167225228962111210565305715255069872175217586170711626109269517084289687901054346712604674882091554672234531185800243974954395882074013332781878943556142908985219511718142854197425946923458393227082331469670210093826001620374318469975206512823577529411187539177684676649219499438181818037803956819486148943433774157851806572212186290753583727585614151463472155222412732082572943921078980790706988338996820736591918824593277223835618924928609578768179975544501026971832775921021642580066573430925901956853644250625108837053425880878052805892583111713648547850226481479507305681488382391187623091984514948322337239449208291420814835887662048731555878639162954346180121817871686753176865837395352561748007960243552141324618529488596536729604272970124043431622286137712593935585845427871838918857698696064735814617314092388729734478168355525560612165970009395574978165160155142997925183821580579343891296046209361398671377019980522225141340288397368483219151163806030165901355599521164342854495766396479289548447483909044604655513098537593516945396842567114223973714917503479156089873385797732181999286618312304849221377316934187204608135429515120679842470187053212959598343108314373247326660142591217174672617078551911521304810323255306299461231623693475608867814516883814378343949077291399247658050048495461687485135338804900829999019418801729989123304660289894927437465810856125610801668170522685814909512516367691969057821915615679270263896363006331891949329061889088387745377659795693683907639647301048160331861962247333915729693585179304267115058267446274571058713917765219532793049283930666995841420251407811933877956277998586134318307000635076116395135862747973784701075429095470250634427868665817555439922075458152555017580156807675177910379724274329725875303849684721491323126046010703225343929714274034738962518173999545411549117794827886742478642034820788805537343514323839090219818116906280385310743992306900513219517876491101692861319289377448860133664519537759415933971838508561558510554316392526228609248789670577148534526602602978668168913171293833541417851974296628813239381673995180368925240345243934163597124662262725278151418066573105641351053107394699957386432967788528854887855832203903085892170311269308758119344075599519541334248484418328118900860451824614714838039643934025371775499896300645305498192807253284821326797115958792938044808948604070287413542704477704347402759704440551975640156107575020129132101392947042344289303617955744003650957540959230489420042837243434101405467276994291162759435603360946135556098713042396837143296292135129207925410689482599533054275921290019208821786401981032968439942881312423007556920212475215677849734066307284562880376639438241757453781381422286127784361149927379435077965593637695386107587769260986941682046727662419967896473203148129814690575450996259585009111968971081246399879453733662313933012562559075294957001084614895216186163780144526885423992292693153628112607073806701006581801008266098559262182841302831848064316666826255082211475777122646787778321707720785607809412956171001917791916387974452012154950149472010574096881762718486655314619672269049903736358227048639118510539930524002247516735823208968744123024902102319421978149168840104167087387780361777540181082134006145212235206943900458169508271865915680548303094397894234959650525376011603718007208335415540081033511439100201386118052785831587334063925838841508879472223184814562601614138464378191253788614335367592596574326060798310517525512909282686089331246225095000850366813843906149349859373261377666990140464891289500970271392859546118960107995333806296332684294946516917237114680369497987519211347504572629488460533094241813617624587032198695781509736650284067408737141519112414324049949297360140800199239030215857239090833232994353916875190119315617304459908825804649467819940069716143219931960718948012996962895292982557662135526597147523110766672622616304713168304341750445133064984307252599290590742199085216285350211071981085681465385444814160180976203430041279408612654258773830101665447788013234368815753970522078695524241041983354754957150109528229305285929906583154649817423867405815471675172752068332127304429869869567261322923707348973109527097072625295903459377500362370069341444537185560068028961021510898319148120654798497049669145788757297496621316555619906161817080682062406499687532954118905100922558211800250889076407659791081912926110682785289763373894861682756984931842678272958779752383002141284380208304776191010716403900283333012710849232737818065630325766922361281951987624524487878179880809964922701980485766357693857939912329633487879665855312869237342658224885299245437718883097055079227434098030766571991281176800492514949914219360250317795865766657978248534583976441933803022681600373767472176140253966267499775986715085807557957852341335361608892301352522415605265529160666584670318929377065908951095161920129656362442161918098488618919047102769765124366269676229560138512481198917412326044766912992583089016823768148522165896161789909981794681857112570631085493098529943154120778219221532251265963156341393781363508291766663372420849022355649314727607601856174943592657178526836197199096659467046513657850449015169951813345421414949885534669972953531004770736452051628571271790555696132838114554687845175470389464777805643523039759760555088833321668702855514064872672745550451312990558465640387620323678710251908004914737617085190508434514161363837723083498956888457801674265443890139149795807124809821706648205882920195652933914086028067100075185491676452658204840310986191467119414034026229335669828588296162631667436217837083956615286110561481794667193408681877819965436575485223105334092608537556880218736739665599642273652730883750681665783824143143770951305339009891003635802002322294937491745298694495145285411532287032907395956448227126845589873584909883840114168375971373669405100901979592712330444920272462487242607570939554326663994367095683867660366736298248487073098650455918686012754962480420094170837128077755287759070668808746649154436311462505251124601031913845152153050651427887681552784070852308277748941614094339034004578369709972737006940593676732052813115383322917610956375099418680228169259321825694264487380112758626834212715675017079105800466675549621066386628863437327851610177679810194600813979951170837498602191554597341604503493626727361600304779383960178129069848067818308198441044488039804939819635251922839285234283772286299728710902218401036027522599606345215128619109838277744696090211342118468353569887766682472913721446475856978142378799846985507951966507421228108938496973384188061230186654590970375322370551474157306535499436405599571805582013291826808154200489198272922872681419606767858867072466643713516317093351080281741559214178871171444996160949561981695141805529341763437824200077494384494926302919463649690373958597757100898813010689814892818799997033788068868116446034033696803877145765240772520480281893914598998261900353321728268994767612088153210207549481851028837045864903951169134190446224904159924139519221649750562423613828594166123082807796725797445361739855959852492130483562508239795362354215631015083580403989508428305884394248822001972086006021990206446272188906269868776073714935457866045117771121995590136553402284022523673078422219543728806711015561722090848387828491409890082648949142483098084592600651656624500841680266774403264873844454833212638148956221087386038726994899532317623090730276263072394252476026465316167508384962808773485524865044942457679314583950260605411762793020557858752937159059923249245955513559367236929481223803180766013246503127824172997232600877151423847747134961490497164905470360754245730557451693741012038698696364080466372710498906291953965652646750384841394009463074738040355133106981684688158010026569569351384931861078244549859506515452320436000318235910994097788730990879294227754910099483393554431378304851880734708586589368538512903102810051289659843703107928522452497408429535096983714203708414122001621532010524748664591404304814189353380001486203934028576752134570883675469715938747041590440112587523118756205309684321985926149190999279853919149313661701153337607168878780942720056283958719983999570432025545572836638368089085828768974473613535611924341245817297699553751862621012887734478373796788586224604710770172522444828571465147756526753514139404710472651634576801061000134960447749640974160225800945661203810599343917386463357508038600501053178902809355055133473116443678596410764773455288647857679143442610144713985422167422844924365365606241806754285698940930698111111525368936904619226258078132861793885897680314615995366141644556550156983448931702725299683807309063739560661059680105362488350343827360167471915088280789595381798588638494260508885978073276034861824036033934958080359275237249575798820872376228937155475479525351169723419833385544976751742618378053737670724258212126206373413188026705441975481129949530963385112519071011192606741660971008034173910435466593853733615576993184019593874307940549130156987124981192320609693577142636894978196316987792580680229789787673451553980362471713732815609149915146404381745363660516784932570429326885211788390018859133670058552917138353431457009937105706171048724414008446226282969735021143947712829529775648900930636632235836174908985750505655937308621715733196618643902455197202208773443763654768298985911617484700247986309635506336157253908255992309801184791479563607827971923466117700067124093758655688134364094041620581453963173787023678031851752702280195543251791286865344283872654111102160795029711412677108428346470964311056025334736409871553796762620675741310992395963720949272811255253148528750874329647419560356840682845531682848380557813823301935949707698228546121774516749632461777524494601974012526299444917553944343200797133737563486912409204334800998906141377561896923200631097856600228128427335901539171396042899628972957311578714031955687887670485774025618730748457676120281226342041154941074062268987766828600614981264911809117391556258086297077056048663473664516531330731776641954839334880086468257046197573153115957629795317466606958213398729031857498652859131769858436333014664442998918864025469595909391969549521549854598017223382939731830942511418541865176957300887188834063516007657717555750747358404620037428837695423860828497506907497496590675044189607718015294446775220428803987743010213658276150912693375117665954139678250003959873850167671511158492788476135835475368000688373384956517088488840812817899994086069979623926158413119626419144085812917348759894751542261146016191064350918630723483340383161159653498658694005935882004470314051802582135589667286938705260041330204847032940046489448450386803473028809552934987870869120477929150587404476231965039769030216663980493219570756136568283493903537268967465942426518164020858149380557465135056742064216854929814270269791632065942641858414446285407067341639964281941293138152820912665714206026769717160349840030107008250951868942672259212201044086204747008486883045017621545761118186650825875449613867618368268049109652614213010086434994811244005163674135305070518193031570328755003901357089213192516930151303896777077164107998561100405834777825497340958101201160653064673908778649194425762389665784105703584848979955124818919045422339740436105496286935652706924704053098762216192172482733965176795239765616452957408576931919225591341997141803798483392971536157281208331467032731477049109391724617672048642235538891568404990580671288968980257472695079459841884043406909245537753896629979682512241810146706630584723488586944701221444952926301866879359215424387216822657293488698281808442191673961776385473925813657128583410267352150803688096717357781766270724204130877663626845217818224285277399677431446184702440861985375359784684349074987931100626737352714181181652689351108795486941827168798076412005838028329591843681048238698678823599834559960801864591580646896040936576673556795269499878314816333177968536414795442581940771815315127963750218921556685691829166577196154090762251201613483716562761992356680154216820185487654311707434468314384937480074939617484140898640840836621287278339878323625195928893152240837393314267317237220249482451305835505329007871835682553886485962256667375953672030597529097050072467269897099883133441588344658436031915228563339569626524522233011569162763084381433303668375257189322878266238666717467878251569247055977634410010950284978705731415207498782026082309542949249343257954430251390531127790582258927390956029012175272791808698353294307867432560108467144855389776214319554905685329135156267400441010705178416827698766881474173424054097083009226906667456284244264043315036853159889175283811952676829177249424486165759374386454785480274865248775350415858204170166341879584089893876900147980753870628479859457680085581997529365149184585520570225853249360812397261384108749461480013051345601894462772451792094728066129637282224235191800250948863015541729934164242357578742658375275554287010493338377735918541813549435339915458674994029784177846504894782666065906067187444202056682311049556122483528251332970915730962480188279764543787350771286036208094888002837002778628436032092641679262735356137089707516362471219955487206110804402858032764455694554152650165031703394924989214415918509557766594209167793695847777519968987386290461879466110938533856911320288510279950635826279885853211683626279206494184366906238117698737412521381235300813848158541861264186796728567060324074260213286085668461207341823313532168702982231598268845827677949969838199085305286817408118226353205069176863813478002047996441767818398297080290648898780233887739551095646456992297321081108189336109602611366707059492019750328046207182756356198590298077262324420059034083013236379722333426846460507384034202839739531977382769803421237193097043305101459963791936654029431976923433992594615867390353212456218150521878994173537045647017401500641963942270389713503253475022228401058196971981246733470529339665278658506485792536460224214284874052569957653128562912441823356398208993708398896008018749774452142441258955086320272380361662832696589096789645664713294841235958846370091236035009999977025251346114985108283846147793545527172836670594572762243648001009819801862489833019263478630698844935112134045521814269599741505674669064136839553446040450028711480139681441245008490289427794479400509996367434414624562199610077550264338934810348351717301433118540117486735075288229532223944055146007129858748983209141423357150660724514727622424801668603812822130737884836969161284327464838226607496579171071687626235252987833259143982588686017677232019872556769903123551750665808392084531919838154767250814851263665265132197621636238858757452855941728887408028515229891544568047248750767765381931211612209772986659863391358909165014158682786872604463477302376411096342545429438394019469011208931164916847975944114233421888174158040216945323170635034145417711677690173869311891556320376263857127056314856175666607373202090721212299145091648740264464032180154277434330410563628964229806964503607323103178603444340930641826531436958268795606908828481438620248091672081961552202020566594439207791275487037740444966808653354093541878385311262838495728123635500850714851668049449662837584488772639523583039732710429222436080192174963468971580979985330855253399068103223491507746980329666480400335217748214036833516452941387111115325102491557893525954873958896040718587209803571040517329159276357084996773731980732064467978933725147253882611150607340173040527564238679270483314901537992327792273993269239126460722961881838722222165738469411487821384585170020408517635144488805016811760121419522554063315007302158003045199278100569418382378011556801854713442051082530389598772706780226370485563935447556755533408719520076160305472026835844852388105831648425833985552136542967364295177310056974953708162218458017306574985611997014568551998954783896894882108622616494191032613462735762689400141938690925689552996799423920206667858985419718082808822373913398002276072066621838967350396478215855815726619733598540838178985433898405725405829429475683890757337348718285392271320062878327639298188047888943032638820681292133377104156703122508684712591963591913908042050434440225607483107485432192221338507408805924523030284168101347746709398860437369221261143943337316095819833552819575943801390719130171707648985138438085118208249233452648310772337652302161492521865543768617563195485668870152930121680406154020746873488296638807106824660336927707555359127457289325525884725587961700082357773548521124328835928912151771911494765455882007825819404623671128935129643733977729969735772664110447491784014578217186398094558943056156916333490296731324518850307715499828999452588469591932598147060979628804526799379500443960532138778479474451873996030033973456499256652573560001888043993457772216273937585934227736830995012880655769673873721412409998199068065943856051472317644958500420121103169418515592574938704205450394639175043766026005130752881537621038582254266940508807802026248276073618772672165261779890629917852475275631431664250261196690781296742956422162755758569235929374969892887083865862366423247365937544450982313598462842645131512041220849257815847158178810280094657840883690143328319785473559584183864001973981451925978058980370259414888461465172283346375061848748380085788470595524625192601335019788768851985370425228950519216793268514922745279506887049690320439596816647248335488291306747474751494907078534274295179175593868981551451446944044232974685084654327816019796613621150049657497502095418292693902949437727793215990401430915380340220760053684590825615636135951721386807581134413523685811309389879887309920935647554560401314240433189211792607733818677935451419092989482696688464592042162358664273446206505414267378624790136292742428445684211571111016603012418042813628944118104772948589230057520510829342906883374305744488963962240428745175663134925586588949181699225478723956998707002326824000459738487355237292535950931891792713897501701666960537306256493991993586954279518828597919927049008932785035293651445829572496585272787966875626275140100893502770073211291327581789112765476381029384616486687407556536630867279591813877636840774314055781023752233006333167939805651908160596993946022259537661282001146834103268949945725546752482612842740084588734006815462032832661983323707443761187026247448002111074044834900177387314964367817981722040771082946827405672759475637889909355665731536618140362688390370445696040879037450108817108160388258425278551762462911385747602141544317504527572400190213356608443876725249606290091321661524292022389444787285686167624634004138402652076542600245398997367801230432655484968362503878794734402074766655500025696116113947399524928332625013854630525077500549559692193054289536476202013488456948851720020899737906655404329103668022349235608500981498492198667429110405105402924000040316292023693525606443316351044945394274097341291435455059334097150046278254289017709716194016396201877259786674180886903060960642005671615973604275017659341644873004142035926699710123455643620356467108356766336313554270670310023366016232493785739525212014195956302990278818146611618466563671010389306407953936004954773487226270883438377930574269243454086905195070868374216739510875975892276470161868409080394727886991338520566397896431382987615606725936543074793586673197821923518509221914936439710201621287533487225628689570682889927165447419580593430573784298576928106605564203374597352892142058707837619604187120542355684222741934348316476298139869958248069629681649094572030156361509614542792037863701994083066106725187552823668212531673395861589881244886510164541684457289884637918392762009064202169833850856085844147844041139362996313912336233398748066091798668871189966299549046841014579194263276792065902626945669560670035873026263267367383270921290215276686090348032396436550663865068975809696302622602379042609603803400280219723781483550444388249725003641791248781262710408432583137484834605635312823189886079721081573413355186503324351501478864055327872501431377691207184731104656417892827995097549298361948616442000394402616643773855320701368095953582919630344005409362983852210414236952803041925061841399371205931251527449379844406849934624554239327317333659104864225832385548216833441800639353748285909145272910072130480649320189288494396610435191668049054550753416139319295672828724164820413439096810392949800740886732966346429195669708084243154446891515283616967498321101312752212761936726306111732393770128289097485676041685750772781413133644367756161310836375974878010059796266353960443605773088631332309484399947682849282538809397109379346473662926252939202797732269197418703485285800323087581554686346220195681254081727295086607536425872633747331505558430074437411172578573205391588434783581311164535010356415383801760550116514077064232339985634647711380258271959844025587998198551163364505479171323650559002664046637255371233612529537141253149030931140462129650683500999641869325024213387107793000571026218415021860469327684992630343120126611712279331583537329597729609988177915305049908938439205099700912827861655697503977967809231730385388556052058243442177183096126332146305399629370976345495760878218599264538409591594476280380196400769129586051854681544062723979397505787464863074476802198434449135536376026043246287390246885559114978996399047862144072493284751827967332631496857267986792041710916948574689367913154486246543519707802990202695348151447459776901472869184616084194501935848801428144948967874900420674467394280004552800549250703183424100968174781771065014531504952526511677315169241612095568428650810434295876237460394473523856488547113296001391927165872420593873869499088703345353966410240246367821573358025369655936208331048016232922102342843972732995075029424098297113786888585197904418676931145569828089855122855277699798390409717986560544945375734018482313507547041101142794629230128496202959709716383506582830011361168943273717584847600057775853237035025473667365552944029563118233660005083946067028786772217524281297465945864585618642188713076513458988181874142904861832565047551794010425745586051334999782272183763330922088658685897214484963251646487049357306508963529673648543273841826982047488004438626720963196091910083018587049988407696025356167420049081410702420961109862283560669398320986119092665046551221412818579451596059112134494518929470925262298998186278839787738362889097575176959514987794326425231844149656525000340586196175360278951195572359201073282159656333279236655839379043899016157745635205538749128427513753393379314166793259648958597386024490134352584130685953655868460258362939784635903141856747776821370743113878657481768029093408737240643813282357017407694365915700108962312706716342621854157313437697225399961672007462123336683167849481459516462496969731711266043472835574828638203272479992101273823188359724239406204117568349308301323671771271218708219624259762481323926451487873779355669246663493180572194274236338888969089684102995523879233874152849174786661323840276374218163065668631703349459725542173380563501849787870589469583830419374218088750762419225361219271276502545562146984559045637792068808399606991659339106131214121350031918538704949167680638113507780987295414450420332575835224164510121315438705462827809308048488363830060802553382542444190841800157313351776735391074138502970942832562256644699881563406649831277059619690321141976564353667301459409892961128534666203664826902706114424829788865214769718976080230282618169311554955828761869989742981465390424218202597248312586409275488016504749780377933123580331957035602484369201923098537682961378994724333485969338947348674147641255781899288995837892920128233193433697969560484552261619214963880188418855720880910042896454631185741647637395963170312645411289187972757963286545147597199828645950711059327987919575390249387274230487091155416142611857819773839151293443962060447846276575767299323248629127999957647086235365698140538303944842515576251410063824166948137781856263674092126354540859491124281312546392586289791647597226145587996367793558095431812298215138396719591127188509909588550424760566653200308253149223474684926094070293444319256482663294859713479438566959023159898005194598779431418205255625817723593106908621886506261720749033744015038053029654833528701558453651400610984433071381125057975713923838255208488605895302923605853993768932753089620311160819224732859266550549307989554076479984127905038977555899122947733531043687359058780714385862754308087024180151290278398933229471856953944984249876901093822452464978366805506755326773923443220379718095480575882510857192214146293368245931497769174799567858039772598968708948764728193261744817251142800335716947428950018178334499842935471549272515758514930662226088314947037966105127389115849536886280633735665551710808288033047468943691839133925528602770202506475866019647810876491742491092042512491377073287245235770133568792647534608621109904721088227776416465698336668574236521623799165985093450002492381392453648858869939121031915105875584170030059821752994975650719465233821538153607531405698049989688801361330118233034000101691814550795650999769805655448802545453794298040758551420620377739488198170193057191936496166140990326648431311770815496327068342324995040142383396484061394829052451762401881175269935876891406741425344127088309246916796511208636941933211558655140169080722636343935885317153658736909170871580594526630022437994599079571112677057057396571925852365375500820910022968695521243480578619406980941465747404097771792016557807296720332380213060191318791608894109044834298123727449999791461997451514471424913046871730329645501066213115397626476559752343765495896963215081411054925105249974437107422137002323602012357542901418359924609716110239894472513111293680318022630395358173103163453997720504573514572661608218521367965070364146205960264708034485257404062608648327902544297386074517631038719555417503378264853696588204690237401941516637574480501094582541915570806248960257240117949331983284192465852953830101104190346838807561682216846835070370616613059989996251973504816100775099099100622324914027167903352094598832773543806128922912254585575226391924394765356032911930977959482139551 : 2723184684865275483413780388939253922159225804138957992284348199809520026223352976667354224061488416258408839789844353008552326728418398797123859315913804337354717146110444186974875720444844034398103975849070233045961762654824418662679354672351118882637344263500032214963657799973040902651665175144779746032293107124644427469126648675648177565823385219764361014455026179171092617462542761026767282434662847071425649357636443063545081176273061698304048973119284795785803977927678645686216462395717237894970471435407129722467997979892119988391528698963264787426811727458685876305176576064639540553877378074485187761037866571956446420121032043923646727874807932267021093824101697134381627173215779599755797733466516108515939441495632791591481460516975657529972201727346487367040028428499330095600121210327636226477348287290050998030644748133373208909572165550727460538925459840697647736798271254020767576974042678229597351830377695759945098515020575169202526263195099545059929426470926137347432941526559677223735650156586904152788033672158080670333327419378354236751909610270688186489998953139119447289032228695721344414378019307893008885842179723129485679142768985266555619974444548309236533971772525473602244020200429789606750633868521627508081213718499651791939655482651743833540710204843536748751511143612225250034036764192694303857204573602892483619144108142401540420804232750027056065736048081154080965345058233105737414878289209686938103248768017227320516030666900200103148455417256145967963453905570228434808101655682602302763139731613891182771133439697919430087775784616446282240400506935034077818198910529601400737174314250096690090920801830100339414981896399327046264968958688812770076676808684897537074984190358077780380900606773924079383754490586363984718983566343516601764155335671204994754860741708893001033264392602630154489666471700109564431573042788329858527446897697114723029339702888418080963239394908266613128145617809438097062223953273992414364101937401468902529629179947750532158641219881567606572246919752434348744711892357638177993314573068773016922404840284422246554115875117632228719421097106053799584757761744661818498920973080375797035596080025789690752145447545743175100275930691417981319359871687330086592707954463270352446080565633117336999174453893485497700722622244887971069953641533327644638170144707334476434615401213795765818011630210491484976566313649747867012944665753410893695485230953714169560879742322553963685133346501429252671109299557772621007598568732477575032406080052780192857802699361399417251155575343306929864269829353352774899062809716255691871964611626405525063799464354896997806761201907923120569682671268759232534214421989998117454875501983500566069911242683364111183782260063928149289405822784672145047342157434120476182684418148580786185426646382273500325467821303941772827973069060616268543625587704612567724946052381446241559530196806326867139782729699546339291033503309456236345474649180474472652318980857064764668546540259949168390845597930626956994143431353818228492021531753679867119175044337933340315834804874451442941370750409932428400372499177741481645571504899608321055418658472665875888352578599133102963920448591574448822630432087813923036638994681597966817452621387485312190831284504454282332921664846900515430469147513271050162387846138086512458502649907835910277096981379072695711827304669914333316956472245326115056389179241774008223940426137981925017256357426702202648271325351775774525028340649478756865071780718897800419787028873926940102712239953986999449235360355740011624315499266665954853518277715823193256725958742646587293893153606662132208107938189993786064571096057401238086947373168402320938970677843502421572881230579665510706842643895188335828546984153791214638908081466151083597584092367547662172284435653818462326695117133009950059709979609840789131522985598843740220838517957465910350979667185000717080033277541029334891557737617116607384745338070602711559486595261175826639407374664225710714043052790045054621822110929656951576299849888969703208918568764027081985126019870372444494569775274256265862755355721788854454795078258126860249406853312548649702787995626686283579442569511902082047477447782245471100321138570386855337767083951186508183653168674131220937554876079696863423759590070240484922852621947115693677529750568870693587404326301561197501008698576982652242453453787336537142131945602474467222876861132732460666207798688771223694502741149650008558923069964716249382166011411798672398537107808898826287066085126183708216654961279269839580015235588025488349277231693271240024674073146449131144988620181537676891404494381662942444736922558347545194948831844458195294700376812997605861864202831954951454246505348184764151683890651809951517411248264589460818599659712002701417934451816090721606230081636290927346085602588576627309431166397707436571715171358423990844782533352093855402309802091939598074776951385262494610040357909020254408318540931954895357775857100698688779582031041811577340043656835503021371856717480774194608290960799830478454939979524845774339569112748044650764964564235235414585823357691228865358585885968997268158448100475257066636498740372129167839943647438759064184362272830809204255971184136939000348872481966660268563267047994696563453086096709011352133873672777408443175288652418693923194123150216088571463237625024325180782047179429229692851569111143956674711105289308758555254138354106991619169631591470442781620608609673567368733618830925824845856983797959063598513089593738380324178327003010233211416549091417595834136915788811990702073151280016504332475654804383066037674489373517123733970084162865041902432512327982209194272042057725005545505427442635395406250693907480828870026672202747127151380245682475991949520421735506953851166682765104813620562692721432459738583770498138820705400758223173518428292402242872843079834756050893997721319710769029668984644647797269501598284959716227617034317049726698257840305435031027067975922671397124678087092976504309375623343809044196885525824813133320483619032330555763382697833711491707346576855262322961065548995165735944350220143242433755261740032637338959521677244352046685115176478657390764960237556841675271814442932598171325069088079907399057827138494395440949215560191589664619345413440011069683424397280541813401275009906708277393315109985049503352815971472996992745601658861092748353268266050389613280008018307933781298727400998936788052121918532474987039401758067749611080749009047237521384240637007728266986804235658089946132144917619096664371549076144833083202629053612316521167469649141673887282273810977423242571681054728174533521795631992265627955957558659885749863414322381727153630158314967857627868924190823858211358067233873569220734710141320146379490345432055542093708831727828846110628296952981900596326228652530023783859877326506525395697474500026110543332994584518794809920055431079799840798155366358242524404844920795323132757368373464090229389267591955143739406451510537476806177366225268448417479620212394592593094158939116270068379402677624286505609547443303840623044188555040644774348713569708229332317465247798609984228288235731999323480648151157476344678262877213220370650895881053161215164498497827015096496406769953223279976027935487033891108595843626072842773544567237106337634511663130277267013266228928922453438579854546951892986089970790584623596809352505444932873936190294334905175426382718225886568336927848599842012728633958266941664695682261304786908429276279120547504811932225653086482296136451154705006406243890449668575113813843388325845631332609930373279520866592294671190516554350805094101031646171387387193370868579959831595033615236974777017926441546477241356106447737732313114621616125526959444511957443914909670677567890870077935096314545250411986294295205863313457792143238004102905503627774628927179411672554282526938103673745586360521267217777388036284722446004343461061279766254448774652944024261322165321140892049225639975960583383329549892283695776105035260283315338927512735371952037727832505905250423792176428343940714008536979598818820465062882956743553692883291535097023037148564186879060179542747897769263888526056519111351285610399562156267980260150115412625339781681766610196719229579241120489148354602467933255389563758290570950869127312753428838217961995491631469638725236898340113200407449311713137768186791698438129256982792417872534182409793887880758590588942188810474940124721254820057973149103134245468808754097812419644312661564692293602823612039301944078429673254370851491306519873186157214166596266888522210034653164285744726622795079921091360245039657425001521227826017334833968162120845032721785594348031241079581631975766225687348169137877996385472722750260962033353639939020885339791908144731669979838916873434312110742857951771753904580616954285649828819633562843905175352857882190831537983017913247860246440805496738790354558693824328027265204231599954872060622014198131472257279844640819418655610376440868236266437454140561066456926905460932749284835624647555176036159049033581663363319720491768005066789137081231731724852692150798816989576966050929122123752127745744400162422518746797974379049901650108778614010975816549107426277359953534112460088809518290842984043143449666406856429413986802118636459812014304834629694400537179638648618494822597729167959297137396661863711321590864449114695360504765270201912919442192585441289718511948100695509424658649374668315995462470999929976577285041379937928434613376020659724253071240963070392905007534944057454647763656865417308364876381718415361497094945881428333256300441625981365341241457998773446999953322752198961292409192502407359589720630885943300306185431345664457813581486338993377721587987033218447990924351631111791290299267518584103491869896140363636342038912104099778431527998712256435943196401593688192318157961608567739676840796066789695546066119377445441678690726140110624860213433812588776580580497830511876829466269882334261075561597525895638529498848988210302748427652413604254779831333027321545390764032957936447788961877686026895665120470928909710832465355507865519891748987387790343694943168578392540810397966730804149608464958604337485930683639515338070324098926389597994432236928049012888443987859014501637909088534924876325360462998033971262404295520558276744335647331781830529991909923618038592667801155035038207506589582516913322094668738164737058954560882474455977718652974833331179979417357896756649271107721202531899486570834147261811223582123221529347416425178086759608388471300877565845894683666935096083442014759291026645191690067010138346606298109890467690098984324695680430136347653247717900944547043507971536534484207913367024494879598662166942247069614978000569921322924843581747860537458747463641260343009141170356157552050527147631623237091063353439343777704782494290471024152831317019576988236530797877247288177274566365439533004247924871447000979808997687347765538550562360190172030191458413922716323874817574644409893757034286001592299509548809172862903986009692627144380735895176076362226878415570816066538977261146101097163446931307508984368046245163574673035189742814191827665690748973537225443581747018860358511156626316329397722937874793414562307534437506377473161539662281845880832068766867690766712574545509244866208110791027415079249326927347024211634542673716165698436200244359494342040963731720110793614208231166668452650753174496288514134902992259239023268147006886800297240174854627625138110932115475790084665440524295800124213327194207311748722255771343166225788305499087242273198169623857887279599941516033108294708694139933538784997249086083065692823247660522281222243830524324530817276711243799534582167889839551149089972575472293842322393510958977396712455098767920202816249834275228638761854151465812504416254970399817509833161153052952731909739887362435332651872147540444204970694538108514177999784887614985364862329604788237344232384438303984323907812532493724312189178640078353185151722974660747165447608578512522152696594539849274796355243619866970827787639330287621283324958580008616730417353193329529689480585773741064722188635099198922235445260443519857866973915305917295367839845669292659375215581034099209800750294897871636726684560317296568103134654338709013026693906057380850522249885258663644508506861312074975245241100956865206490246876871902678688252560956057106203900926674225523231804161063300692535893749721879545324881436659624941959673326921686974805638127910092729846366686984341051486223017384977460420715590456799110154948226866443684497028433035213837076498151760106837042252389142660942511610592218448267892479885416385482909546998657491042518955829788705697236277358330547592335996430809754916473908252397778175030280368674826663358944316393856200839995739120103988227624258363896633153717058634595092120008057920468291084571721060580458398906627276932701487281897219365981843707675302190322816088319577438334526744493551746908230465156270011791986383125357922209006910665161084869091535571027659022127971911063130776929239983529877458723981665603312924896620670661382142192739656682059457819314246294720629826672245388806003539245688550457673394032308230480241719963527179614165715925746461872586309878761435527295088555798334538132466965581291838019457141955727921941324328617574865444064041628072931972909144986468659748240526887383891941022789843977838925971075969130988007123766238904549853170294867195865880000020471133313005506807466690470906948178553707661486127181124597163844524897526753621158601757697681206683579234693190424247717074574523017294836625339630188551893980364783019720570111707307952316452956977889858967303874122887750045122653021097608422636731060242285647622108560878055635324107335003476959703654934199387832243616998401399940977046295342445075620075028806596454390402020681528416892925871361549894223045175956412229760536813208790117469728900611900956808795899535845511883626447231799927146702859892427598068025191289509057228179398927941069935081073530587493754874900037532970069452919029185770680298058228580235121619292455594699087969540483175900451653119281196150093400172903453939108221266842720731239620293526583900372341981427626798004113605965451889940395101203155676348154428305831797293511235302664482703902410554457483398879382085998661441893635384741660711068962428701672266331771539395644191673354800994954275866726457631819956299625343196694186587546668882621471344503556165590749611748361712467674617772630674490697288571958738259069857231703782978712350913120150505907468495584053490848525050219022590912287235097462664305592891818882083955029633874125871148237299198291060513416569028412941792262744268165227229915004487807246076042429389387872926235597442006177311089120786954421542559718140426800456668828388441535174535863119012513989616619456636999085802712056881993440733236002723182426423712371845969374928610769621302793309566078738572541122803163445265981568573906014148105345077528273575546313411526654367900367350554852584628664649773122845846198471103124498276025178397879120201772811597542599978385233025726521053860807817147775775692182073449413134853435688553043829253483558890801629219082477104811712237547041466284476033325023713921120792619105823467146298924451056578332997074226472905977038565936274910065885427095612495030310859102475353177114882199776134744521736807270148506296171564538724332343693195466071049518707260418533880400463935372409380518112212811226545262461482910548146924366776723970044705199791804816520637984222203773923509358522466548049203539065338584026057286319181844370656568814098671734112867828799521557310985158407270022855885926207445097608545405921236956227952878656126835440510785891517415101796405429018501863013417228798630260702927917936311334983320926368555414474362578231978668977975904110920066060344977285966947879269945665154085207412314569444651827179713184648170630818842023698830109419038722820534809461805869265126531654743311220609204834191549636470493465841371579320257851989815610650666479135098104654619643277179094728302626954394434883233903084212613203333956851132451065321397882764882210812553989980828163248941661573836883092210847393659780336496319111125822254272441553081618150839037469526043389692463822778361792043082555602945537184039342047134329643499466519633061869602160788256863975911984626080784799885069493900579722986886620788229721289549800276167586148434937669750445697520302075783852721832557323665814557332323962211964801990887588498708725881608964693386976081959816749338900038535278791663030907334758611316140116403889002835060554440170775315328598165397072784428386652163855686987234092464952831599388196004049905424665589342323433019368675979350041576185523173862273827798710842439171512589099624323990046662501069546894557258308775157906284782701861920142168675460980977968246271322770574698123538284116311043919827176619482867308810684565032470974964321018006110651999601387155320820885731258019152503790351314826815604279046436790132359149783015579121092716453938027743694044451505553208467400923567078086813287565043176819676488038611845172009698261818107350841328632561611531662674492327410807179393572676837109007273330979758036071411893436230771010998897001998449535141039106314743887950415473225020508019947377594207481829173273504772912128784368833551605536416047735276524347679013269136965532329931414470336002827690819551402896100615440475925973290461207409925053936081990605294392381191398547792472847830845744579324028967404222436394996979905922311257795625239615670335742862946948145517499494336312622207541389638399063829273013212847071974556223261898795925828036517512683121367601679239315535539550477330821741405132185393390162146861008286012564143674867358378535186278750891451378184870665743570768914675689636770033546652828154962750520633037711852585933822807166404379947933513859563073202757630754400231071111736773624246793764971100418266980430442552399994316980118592059351726700072053281264474094123267051951660061634758379331186213329468936619814051455515175651347641816832115073717027518353396327344821724218320692513348474146204454054843021983474722822779485560251135126665123125704005369607252821999673894405135285959550759450545245482442840675974941648164456532636323027544634224393822769734084060837810884578310133474666258928712946280734376659410728048263038218112159717938171809505130630046187302910866272080439596052905718364111074396750405782460271067084642170061016355775222270438051726808758925889845975003902089622027016295314398487208513433363407953801235626558117146516793913618051235520644624382856882713546988126743352718313452224533720889313761819552546949117823466792026415694055441768803732026832516190219801004327134270566659622226608392124346814277293980016461235633430190349844416824636768622624030265449977799686269248906424692220104699202404678743571634033635080261855566690263754718246303960751519766378372537605966541656532099120509552143796412060733031433133113775420352038029988720991576870828290536082844500662446480555213082324383796884224930195668599997253783466157248116617977594720389966156118294496449489044477191720411992384601212663709320806171525847339050395315281445659874442625048511451952484200606107041394602183057708558087171606393045637560515386519867951148278858106290931316503399382890994846029089840674140951116990903638879368702512976442032349891731898629738414396843624089874754550996259226847391524966951488613104248837340741927537880938052199935819857932297792590483884511703922982882085308082658740282264108569822390327725209998505216329309196329707491124898881864301507772569782100592667601712801966769866753604473835606378740663578263740650458686310947268111034748135005493911727302647516212926328809405105548171117403879980750929314373046983982183892183349624608876385880474561211980780505920669242914170028877752314626071494866399905942742376629964030604131948090348347904806442442174757235995464244963512433490725501053707041953974685363456340425357406522742341218031918143889784121815148052569965423133722402768711488474531232135771761250944359194673530352205744690263480498454091493887192042571540647359878373507596780710913020331689024887382347971226815015769527596384946396210468078120968762580293352286046335025613770429127084109863486754342331673391172059614236483616521706034177424922265095460450979116717685638405580366469615804947865238356889540453419201954777951994768895533326253554373449292379126063702741361417392281978813789458885951093970416663240554255153810357495031147418679271569143051423765737464166419432698684027716566852371222862139875402394318436811997030842763008439028286903938358660591199734415168336241601586888430342842592356231260319616185394311630740932586883632803922008433720183071733465384992928473318156453948027896929994263621228923981654543218450642147495169560561172107405117152081320815018535120591546625144022897125130340777922348326413994196070216299188536076633301754455910090230960019799328816175707155599091009252164419423896462192918288799129000936418383696934478643454478315282426198228328636890221548730576724018339342197161178162351307666656511038854048398487920838780187447736717820184120574276679969560532855996409175993619715316630513512744569627646146030987999371485118336773589770345925350727079767807748262081117197203219651006932184500420312459652249379624746024995119063770619079394687001925167560798079958040346815232558501896146548686336938506860126591118996439325209449256678711044051848683467596593294503515548198833382414878039219775334522580472972927283639727346439695318860824518900114154770361696730145592165485188100496124121711421671900464961341124802078083409669078665031382585894172352841258323363122585648450436072680966849161080687695932271235999574249690017118524150009643977327565598457595804048668699091577674105244891837328973015772339935963083188833493255964312799736823135591556646587398241664026194339939334643318580738632655893162274480492356591436655446008695234363660865580027465283106922247431625260841312844549297716635481427197061260359706912292785936807368674514962041583659678474649995843712435638835099419381812452183731135984675783127159133792039512794417737692398044450477974162807272071995334995499910919232630745127500246769734804908357080469044007959598893354991744196302765667152881987984124456483575182364472163119759349355350822297385888357422018291336149683528995799123873055543156182832869955100975435845161143282689482983000050857398169438869517736331023663376582787465791185013358196612481086506723036051503244280788693625813813964431396935265192727107614254269292789460973865394350067909500439769735309056567172748950892865864031056580364038808533619685417398782928648626029774208116816581144620563971711674818461756433947881711031650560398714046524188352297993834907315481849203146963975208582297794393863485012952380655198187316538838686958691679760346202591123563591030086236415466473262269845997764524081525731386936355675489896062637672533628225419441176808437521929046542881474506936375651530911150074931244187376739420532073426997930451751577756510051541151655292640707205315758174167649697802420911769351653671392248953580498342423550726564259938890260837731632372592477301029674529851992857691169104536337336358768996409858151146378811557442302514577086238454080001365194970574677551272477812763323527688653017767750695654507396904886219466009880127663233309094677964837715120274575127874218216157030278564652283000354506079957295595128007209016971945739396158764202629298729292514837295426765192345111982930808306325162207873502094087498497782902558219430818239038672207594466999301925432434257861025320266276033760606168626854458340586252340756634798526738781789504001357547230943355920228207744278665727157469490173402002565555490157232752721344027956134564057107130785077726677892320719348816431779674524429797422055876257608199259309906339261191019977858338233353762271181095955148702097325246864869414628312899775146342680451058585866373000416434117590129459878094810640100911462874828198978794624007738203111840922670360451327884742664015991027279971172402758927726263515701425717996962365860617351882335201879991428294657941545455840563815279374599001777661348680203319352021939656978608800748491229445230040217375983789803653593281619098736408497831341817916686778302457954511663260257755296637258092099879258030413421242252725698213571521703881710402340617383056656938466004213611851289777509090109771881203897432095059553593354035724103870713563423601793782611265500527452139600593914461179310357418457291466588428345814189058001168972635019513178328657404763356931107672720402093854381787983416149350645000228543128344100757746719797234456210516262815781536374469279899738503711314096693729523978942961244433123826790320275499588084648923526528031338170901428365764013725049386053282170557047466517215819824297315164615785402359901220139008919464310062141213586529391167326309379827413010463060449663479284465768981001248986445696548853951003297652778509376919787001963491241539457657541360720967973326304519667531702830015686658247294007489669981320670822459911871855191564865285875849551164137452459618164656950482322323118082247537848785576309990517627037134301563917584014634353734885205147464087969900304184656575489383040875478984525592505186539585560464403911716942433914962737903522825709931651799667446347741128884415284634375004788842331404995395975086163341946560233289986852768078717422443324646850002429059609378398033684998762871332589162938556171444458645638387053183394190989110332142922475959181474766141342322649932077825006694212542087711860490212534829055933258294274518253404950630822042733627262849399992248467555634673681322959397013831898159673437581586662983245205757101020048013435966185275776309517259786493844620888474010003805426846630942879879247977095509951745877927780688295052700296941592981012917445919855057152315697935776457420023182576743878070000881030125540348312018745837289656340849335063194962301036204838618023951767432770060519826613105610158005068507562303409896653866373494577738497823710402236412606077777667955129093843584152349363759513603405273482316100008462918014442400820643496048599479408186203939678347224904234682928470368095829150722352423485950956734112495757651150067149870569086728364111926779937429678890644895882927152919845753961408075010644368071121469676216943164461319379972459277289107117439026839183998554612502428339754038374701149814931344012048035104898510733084631426136204492966086168883159306051087964329717542098202313652997971917860971737787328817810608553566009231533207182625202062334356404520931198619189074755347508459234905564980701433135695802128174311280824928000006517807889289219625827135216084394751405811155322483305087169189014317823578095210268833310121471553088223850801980561519918219998779137414248052117208298927008953981723533883150156939063593774534465328615917171736651808626082893230711195206733990763750086147309239321021955185113989997086168965752805791538215600330538427337349969448669279751388243163895079910358871407966256106766475048684697114711176224780476438923281234224580876432777340151175330313931432298261550266478886703227363137811373265006770779962324634719626851108952671590365715612163948850184006017778334334135124889133725012995169884487985173638684316976123422896745202976638901514929160722341646073863223317964597230473364898085686310868591254232477088045184517237213596210500261813836192669707298014578888945225950528438812366755611612091701275091957311928817399184323565706593440004281898737281460374975422983590276320339086637346049619873970524689772715485176049936938617391131271173945738211428059067259541666625380484948401943616820248292589292528961857820305570509348437049752253218221049766196993667261629282954628037076645904790494252800350700130346493305276421264988864788976971937328263216169485559331370779156469207823423450304161834266468351798732041149331702210339079119309300331704359523564484551105430192009158539859991082810395706196171947502973799147143158788026536498328398922588418183384146854295456203585083600428208356974666896445340268649481151029688704529004646829375346075787683345203318556313136844411285668495245458356759900358791684200506675910998899286316811434986119475010269667794066670546573096922911524231081894990065632352077787088426441315044162672216170147221713341679920600345651317427314610983841884378696390341665401620289390454606947785257948426719101892376288401760675822080078056328076867125718214232552293656864709950943733769204875358338071904285929451585706975960375547158151193390569194055326175941836649932822728641563212637216758655027375983898189408345988797681290898165183677873157006961624625920953798495458684119063168067084609173941951807399078691026600743845231812396531271588006209803445429028395539556793494648585512694390801485250230971048636247055818347084670807366416935179828814623408232549393859993938821991722108903753923316200011704375648855961945130046200207429984692085039525057394543224462284542908811196662160042728670287398883933987853776171599985304268389537356626241648217084385313589488559860840832576870957965120015850493615690940549890996124282935319304506888930851098248441794427777979252024333748589298124574889053284611006715370728330710691214135674132843449614340741043975209341148547458613870278247641581182866358964227884994339397344469322861317195235906192478437840323712204337702512291264907177080262320805982885810701480578255207439046887194088760806004427928756843055599649195875368039140357193789825722327910108548677282806521519309303161133878739971695160616461931879942017778518344725616357834940409557310805186571229201325250522502899513727780728213307690353946512646527870002024850071275480283341574882223502980354819599289926389216915397898036905310871236748458457470335207867488139601661246209117842513983952964866684560091131994961039501293315501206656923801443964677482474561481787111231082992813008775475612984977012271405600309873076867999145448478826414667779869945858503790013337559560907792788230532366334026575876612985379832426205785666111291094031626942662135404675424056227518328428265979227546131559448381080456453957552608105039913093692087927156099401834818647068171741192795406333676050101831083491951541845737598319904567330509227900708130188678706145768231490014311832605493019514022619397632564958300808958149848401749362220682483666907739598572945062567446424938306948150004917095993513387927623585907576989548086094180187146247424452806304784920235327751355314598240952588430318027301223248507643691313243306821529227347744036349323660767058410812303279531610344062043299368654700091561303845591157492450164285394514174380460370440649693970620766685282137372382620385176041748722877505536794599125629309672474193740987931211425020475450715401693525234711839646103019238137659940716567902216190341918217686620204773964290689709745802631496548207415810994660703728491368703501815957737011646219761597328598170020019148517146275236833664986321459740032692646413294470353555154696825184875783852001682138505905835767215823450281342958346800108084566496006419589604707019557059138749682511704717584623579214538085108208098386879740189297294395796974794430831477068803491342447951217258111265707744468745203375077987689563142071933646095457082919019799379225046284251339271218993799875209522466850530979066835452596058694695901257625014417681085177922361371914465840848140626221555635353173522422040344609094178005004665732760378259219158182169865091351082229473792897825237787691957201909089874375503810135611276665251854246810610986739805444706375503814668704771016553870549384553524987128720232528271359464763977843643612563616126313923896489883252780182985456490260771479183096061440497615219569696196472577978688425041388997113619691430636858015014384598115213005069963564394601136619732930166843227076829130240747868629492086343858866958267584651397175573643566632453359109795364636499265608006912674692077663584361059059668368965754692787253384295786968126757963161165872691301266340817829731177606145628737844383209010695444044534770212157320400001195114426511229762876360409531883576630117232057509459488711323918041980745896373581525590369059830282576380375859109905145116815382199888943486888483028710966655656659738348299901981966519221030811035177674071376894421013544368542263731183522391384398218849601952552928246295014792342949032788335853045710832524410009832777095487279466922074631492085614047363813305618354473681694923202434528569747980764692143387622514572133769903130312924175150315687743898539783846163721713760972562029180646644782770280231379752869277332479319842604101965348338276671650412233977696398978654800455900127598655754611479134335284342451259626280949508008322031060360901521148119836855105320494943308231763420442138900071412839414233347644055553216488938102292191506069135522043398491728352804646623617114028831258780465343912589702068716058177935473735152708983847574159251111930425192501106486007099129973094960830878461809865778075279335686770538471889545987947336190682417603137089320814201305960326442685043874523160596166519602319315735253219168527672359662022327370029108670110432336049492122688741517583477194525533378861692317392725519930699138837120875863870673108896031139252065742715877781527522923406441612042384999085656467089048604377533173767663659958746232151196851123343202784368724351431073551585704768121999884759891670035591188142219030632182293386566368450714739057888002843089388172637974765582346807764428854351696972868497557823058521584970490480912786829707085469279900440435329703563323809129884897898942834722496909824653380748572690481329746739679103867155579987920192261563293800441171344933488616956936137099976394327088067901996576471515905896010611535126800186961761810267773396722013064985140665861324768352064060609446157321904412099107582440673793023506735349218162066240945864560357530659387108843807465589290031337823510851758818471334346786571155565514175081382268994130573114559847454239836790558310337504329175498159045179469889143245866055486074338843054736557694164039998822775498476318263034049351224738149626510884534783382269878832638524376115052588806114395749194152058871945615031609538785039615917619162259989745290160951659867948495841572233567602127243444419513281350166996106559858771314898087734347984263438900733000739157663999276178855835324732022128237582790967431448757445801502189753040893450104660275051860239712684010314720909304320060525841011806792138685183676671204478390131892852778507643351444980406716334439805701856422083998440392642762622836806290366823729515844670585414242877749709080667371128238583404464688670434696450572604861642603076217567450753335070658118944980139429263786554592907201833832723394122243798626507313163675980514457558054715483682453003525182844464662415637952241146968552685434329769609173308757855412713160005350491392153725369908726199637621588688303927829187661495462168618111506565953701396393823595488722231362338245427338708679140488546500263729690805402821944520123184765018337202573536185870140514702797744245085198409020412507651275225692361131478344910782028019312036422859670266756403372931629560181777035654078235158562304520448762864486287728986101312416520784265432803572886807257620540392359160139254053821851219644663774653529246560530405878793331995322559801441793764057352036781802547675773000123857889072414075334459338868033271427003501792108700506938478471681012356827896676596621478315903825789027128643592581310855541842178353148149614285838616111575067341051504200238870024523891933285733140849835150751131874330939476918786330221023218143888123365394829636688819534644174083550518659866123786601101477580405002135457866399118044433285439602788947895744905247370488282050939669293808618370371399895632473474444550867525540585846317789988429084751185352014644381340845623886815663453462971992159847989423983375530682602415666202302039900096757488294958399244868328361241735376567367340804492905217094706078172290890147418341324668980423327150312715826601255767009239298997923064017721820143532186320313725983924675088241062152693422691611337291231023692441738808600041186661097137064740424459683676489091181401008170247375756392317419700994006425555471731835070734763613329661119947043530558465942736916232379407111756421139338466544358988535613902728474731051574036570527377165915017516264404960834819142492265871257640622264257001200890266132564032994425338048476178023223717094872208661782523128243697903469070671130446148317720518982319781963939698491694280987108704087499084656458297155969731206398094505593475692609346171968694921037250893688400818973954755795616290310838924710332229736561242189546964832486882477983490648322983684207531882885503812222504771805381614544918759630462696215531805435942356912819680559137061226197941143176008758600130897990273750044950294257705427069479408075648491040732608322235474878477161211345142097305119266427324002522686368136982488579213946524793701681814828603415770571914722689887154101346649097426436152799047496454566494137681678756112717520310112699195959744606727991363619666608560261993656456112489777620575703529057988894533985438677396803085728162990835920028264650952482911081760167745247717814964181940996380335989706470109351532576664267687614113928850361607722517728459687100452139920189257099275610068166625130600451232227177581341777829278434348955265948396449415837137377174323001090601216619063800806395876117546457948757901960578184708979555817289949248911772051999984068180164311952187761934062254043327232733904869007942927761130327096542095130957364338911440039516215888951552562909529895799285290588718234561207743778495136153446661255443341891205827323445099436659443699304162497860002285444904778860023201033693388590436280747373740391915965183770149947572385106681270507122780765701975014603137822342795928736057833526921851517836441788320225848106870994116004402679156754021103275599139504131499054566652817667263485299125318680659311686195516176986049001242864130407457093978629223399441108856417338953066606485769570084989118931725100093633202017318075426536842498290290016105905813621240056810653117790049165531865976376555418435191090072461325190283493553389006315703202168514607560487269931859809467102862417211452381942528121973782176922666210161652339826515318090470432935913008300780047299135632389420581504506782803243133193378071929644473895040720147141921928451227993994419361440656603425597161275111140459605268293152220106526466640116784077583535772754653959654184732894007882618233290230713665412620951857649649994462119783125430557658031541881702989910698365221147986123281746624530101747350603313834152366342729193726450765714427578843440855180896429703090857600835212471496145580331409540311449449778138675583901075010979066302673210974811288157925969382060795015574132236242164073764324541415622191082300052414922279493620782929096082924268860253900041030753853541802512483928077338871360941722275327642243743710263276802396347510593386174152812555419131515300748129366869846665929310736245946088248022353528854081950832809784617428134118999103793729974545187405846240809886611399257814884499236899839725795642804506714965262873830112662559849207024882729692764191449665065731855236252974526500445279757124778998218002456590175643702133458930777735448016204788570140297255642147594109922368184474886007267091471275259047942471600760729140257175238754522062963336800422280877536051880932929853967530748695619704337076388568931444270044929663676506422954811868961827521224439700649411047713281633543775209191401358970143559849296106616108355991555835505817771860512090019176551806879686933326102140640314175914548855295114426303617548290752623467985781070180985192223020445887781320336897956582813251002081603770697351401903061884068935565648895225205955013317993352005811608136076314014282074927410896624025400522898721843966880971212370058571056579508421868872899548775990068703768854358410113525096089331540635221843226557154741216850425800830763651566094325375245981015298728578502788726929034551706482261043317137931436362227312701414593207372728231403444857694823976504163731722124562946828053812334526835338977019278169628886875498021618204106240767707235004558262550537524480041087804999323750794811537935237250190547347713424374487516436996598068295480843543449850264589079679408657412759397472236625234898717504770364532863856285711418751630657074123325610603829070857199951664198546293106423356816292007729386324224068814695425756233776715342025791818427305841208239835823319909222869185655178603292104095891763523397079916343126295053587075921235956224168393256918909121661256695136579631704161497938637212410181144066562439909443085736508818963395875394909362296366632743899888046768966820399529122187549373152083587291920551907172972460873977961413428149539828685389004189138495329932374237990130967413521578186194658905990665201717188397881025958477686553055940711366254974483634735996416267543586174220480234820996514366672925596335042199865983178018821152018081146447800773011723256358649244982557454162440766249138107147198084202994034610387308323998903454950841327919563152796241066154442870537524058952148474259309122597878261158544765623707726770340707225834977967163912691685684915140988460584692805605317226600835202199071901831853400301374516130415222095664688735486660779640793505501477821613267666709444674072082816511971639068425352232693076007591439335236256750035586899725064879923650570364417943460688591002611284830459039458435602406589344089577329628110523441779924539375891541663173735876786365601947809207609263661503386321383877935200868048268181689799085574909552835305963757798715224994554012319882879104168763623183671999112185850929040960220716381953558244655107758077349060994733930517898339101467555472105791199104245568884531059749818569717633376275907520365824843069011606737702785327627036164762292224855016705115964518923619698036391374126391413265222787848084131077405127853317295793037756288011655849697531577007270078256457334543563664301022563888671732544834350133282155810112183593491834236968851024325469377205260355784607150454100225610400290093769924510339954723134739181122662169731774630029861254534789171940219401103954984480983509905595494934150930339147902517023182946399735790410151459182963355078134073793900284819183825327153355369805830924188090823994768209724330966375773422210967355825447044808525193029868409978323666694212363958768692545405701473122649471067503302328866889627167782246465779278682541391194263366975427992276002334804377186237222042196274661348778121229292680692821214980949444003807826458529649344061011901721325408982026057521471344345985733649087891638801216875964043253646569377852976612356101423398046967261328560879785273852453684498673867523507792937940170688118913621173010579436684312665240918544590640232841926131569245107589010521671292712685521875184173209724400443290306112000929094690535955912757184351798105096823652585469039892199520962329691875190056278078344862408356426691205422364341076297334619683801116094563713470610032291393550315634209881800435534390245423657607730744807588024080599106736889193601030991413087135909305001507844399838975777483342810228838129661633418741774860931126475345828200827040152922870888196993933792525498745746861537220317371862338090761613158083453732570548692131600319757828259338800682496182879134492274226616547128416051001960565093136014176880846500622513254743735394014689209712535815324052978094709501620280813120858468534774821357041341167581816946498096684581587168853444053209420532295949200974961558103619937788843794958717291534853869293277437902247252938620780720400069240637088769083560857827096789473434640943576127293819482372249719319702066466736373945402013892395635077933922049586933321262966927953467813453986207687610345602999486289920669479901374201849177669803669540921736844238548331507842472804172058601290721352479380498581697768841362722630780296010643124610448843018163389114328608696494385934345785463374541601394126349714254006502751315115836727140342085528269577024256236021523089754205433812144186914021500449943158124583492052151983064791006054650528450216215635683462240375291927747155783266321548741156858190989550731094593153843454105257000656080607199771648394916908920800845762754170377212617606968490412938387483457655735215659995479425885352280051998762322853360375191599638049102906766287018239713068651821432300492377260420146937705105298598286682904733435757357387199364712882187581358394835246779570368956021572988482196363747653258200656980714721352087673150786837789482631398012363709893357826446413061196887118989485304671705501539845387791560422489166556173006507345933693601122638266815513739594007452151310161451538487899648703521447809253480993849287533083101557274511064254281743416795269646879329174070224549479189937694102085643949804473308105063081279132019919215061374938155889452629052391345046593731392552338387806214124669496595637741994452643020726478982278931575437771105532032568622113452102183346891736038331794103626334514160529531706214388409318155154736835452539498025620110508612921582407209310967242176106101979053933591447145196471673537499679106887670705429690047928430810193808008548334671958932585445429772085536561504065259785934222527629373214564816144550447434586241164854024220923359608354819847728222857140969985501584329208312404332111569216014827819356410309778617294683314633961221171317398738829571793174668437561078193719283004715516032500803978169968878569111381295366355413338086504302791585057969355735680960548633646182209461219170792947513204387067694220177291666101621214707639383956798917482992979262508353103512551213789029974642930882846004454911488302105985726443654672810923159272699305187603886239019793922469390420125800893398720659025419649442878728382508629866622773901388776446074417470478902936811896891472388556378250301734196029912309320573807768792002431135433027388574983541056809856160695930334916730991666868200701306214503210513122595999554218310910986589054829247692436737001333318455736189333114254307154132404452879576774266671860235317898384182487036219134498195801466958169733986924618582334198219149923763365263559687453942419352890547926083669141139252208819785155040489216776596931350866703245669586752557364112389404937156863375519865732317714884225766018122284729848118886161117306338879693789776044522914906089566083803504118832129562832632617030313036677761555847344673304065099151944642598449568446301012738646102239235481467599615943370483116577557112150132319668987942908920674352079002766202149115334972661500309431873452041325423152144780104405678897667557633305792411886358925171335421107718626132657868586518712000021756700251891438981783082405851244407778782414621226242153880792364687795338398638478489926760561965532217452236690956704384164272767044494405797851268208887844445783514761363440435414897826403987739553764709329346470131263486780287692061142838253092906183938269038122297206020797540029059080713832728769581431231049011623953517635676391648868777289282177174846625996047505104391215361030027363470104548499857660651982589546166980305915213536520644845220323197924546202835552483962074570710498026590418424938593413862594141697792320282117627648727662084696382912315134386138667855988503030848922720343353419489693518316892643732282900947572450301358352908352517433946718009124716876587720551293072769588579914342282077054194961952824958431835434909132088511350031721595989729561459063170606072424767855184900912398229449623219527040459175061371169158445827699934249573358847751485325067833635821562090253965899433219001993511619985214934527107680792822870121563558634751200974469571241242604491441767158653010383912761161939517159306282798603170883505272013818936743348901242455620064826423682908394525325103333671099992832597212994604739556200328460281425281379306952989857271895861999232955932810324680587005747987987094546873591682333670096116193918882029333874040439013202474598487293714149685497754120200200250714001856183325158068858251856656602395704472550583567079601627280928866212287256598284555507181615408450495175700644850799318065284288768487489504956420951928296376090706887069070428979396887540993781342829965419693876682443321325352897953100485966364760674980050743492414633680985312431235322328044244191172262776224985032994600458283074033914240315151649977015353704693104577034217821799948424824022715651866676543410606651974654884375220838136684563036907454282748280966849800599451099958513555485579670929968683510116995793541667701821635667464726992830746402462556593523950636829076545169702898882759979596254432834635788119579379233753617367475173726887447332209451420769205959676967441961050412235501120092145312295845616658261194576384928275911972711576682450315622082678786424118547866904525868583257898699464868765532066299136850785383586523674040351156497825886601602817869418151879901172987578004213823570768727996854657288332666510400842483632823240968216095748252698759509982367070511864449653121316381253585410287873910131001869613280659729659226159652473851859095836621289234311377341670395128947442157592147342219968178513227869737613237005043667130182351264560172551635552316910235481677402540389642017308208096773968727325296883651590038609482571264594443296440288559894392825909643914847175438361167840910815450032871276159440549840567417278536998342574550052986920884175702291677050753022130041535089507171978223094504419592276848859632525266984921488147971611088385334804076453910993508744727508009425006342250228580307574521257564981743747101748381957959438703500870064435968604522984341349194203737239504741999012868672553315935757782090980112208637497245882647142506212667664924383686497529929079682022732406051459234531139920063910610281947315232393310060609107153449624806127487739765115894814086293724159856859307462841184299977599099351519944793010213440579350073302680432536121236182313999029020286184204605456370298648154266763111602858332796509964260596282264832418027533124522007290910657203327538355982835937852541901327718920406869369534027727702471782861158436241366458362421734103563620747083144683082856567952871757453938955064723694462183639459763824543513333630167074672096703034203475791371261254526462012814813736529847609962516154393762473312487327785239527171214778174013468383201676227510452825621165354096796676474110303742381543730782850391410637137514637139359647292639327861757698711518985303801932316601859307992230328172483318642162189941098356184991321974332257953857914600794625382316224697065939115634751436324079373176840378371145997961368148526768824886125119660600787212663995315681086457692935393447668114288148039607504012245402562078135856487700239811904007090757839692003869505655807610705413368008783484568291433634354015353077186682022394608127193877476985791645203572961814825108275588684235359918075148349033708453038093911488454030554454764605779128912802431955321873187651624551040553493918836350232597102050686046606321842078086295842821478495277244396634479725049387996369226113083119599347140185809179622894479605108387164531337702363319557899162270903837096569227016086930509256190211068564567662268942038149006337403028960444247708687383136755763811386006187142247555446262442210378959770071262197235274959735619448102477316863741716936963596513196113876717564134707384938297280158177017944877894139499064470161603712848543021201166113601381524042455043450126542776484664687797123142349225099003149234784767751982592031920705688487925804024340105669543925158933443725285505362818644833133713120269358463084999573489821647131041005713941296587718208838959734918793357152628510855540248305549093892211857217547417678280234434293970375025016752429805838365628033483384069676062938230405966914631127850569899190997317289976751182363924549867264932416875058205217080685249229076932107538532678823685679536389556008707944554515684051362256565745002053771794496340860959118602941566532124988217796984015273020628903227716581123360621592559972712251568946229170776218052867148955316917736664926929005100470259150473082706703300275558280196128743770310507022508307107712146836600024188333033560083500851167647459236157546162426776601625308712838021288519637799079154890574444093719628106635645820230530068528123593425827953682751179133942997849846506391103932946921933555270730783512899225769120601186892967072074916692159116487722229061606835980089138656800634612930324566532352806679995064679841652909742260671786872591937690385113862955565864512442854785724441086553810618273829692430896219694383988842990945251039200876333697205574505932698532924487276915472918974074378948612428768173047857831911185326406521482767588456276514352638970662833495614766902445901372982367840016650722406098693552608106127824759820134080635578580558589437612046560005848038999986798141326255833370114672929063991782071138576675244354006553994366002919792389689404348336728909307022708824636191935821219687029201242053050319039389264849510921293005176574308989282434073775365544241250777501499412431018967110059749553557183202393047431889409773181165315378715434971082796972911040447405817303036365744482475637740320661246630217995508152132011251538016352574235924046341693271047157108066502503006815756640188305192294279375511222815453253467231659430047289842117382388353592739031066175626452444445439569782944900472173481358714046786416552505099226768010548953921731637826417087663687106813498011099685370894985775332293138120552398605579740051419538930866084406535171685186752275969537033197325140885216712239220200556633857532608669884909940509775782535986068468844474578123618984543704402120536772415921117150924160884523834669242643717814838036577843568933030154117998011205334986307662766193624631101805036533063780724208621019275686450130578637092783261701789061858253421183905806632980971109233655228696788721684106483320484243893242105261749046234915591451746768630549672587056531466639831249340815571830022262333452054315814415970511963338684437576482283740904117835160959089890276732225647110659252922969374535066511636249493408580151162618579818858942635534892001205577777240824462043958529283659209459617481896535075336042328899472776426063334088462782755563360370581413791604364480948112579201341035872840298534460064503296584722300169690652153930898255301570289743643455402052840506766111543097555018518617619442691880678299335182538605451085549611481761139430774229816285706858487193897539700792693140369202474612977630080547728023532709151057872886903646944603679486195618313874744389787214177752796078160140499671706030446543261432824974571057768369394409096003399071068226281311153265692933960342741455668360567338253961467000878460013618918269665126905332110350175403510849727723345685932101919527812244068594529700935705236799268559954025668052134785936236434244777047959967442238568340026984398878143846539875251428000575608737680823797522639514860309360632005173976141381435315143705209208093896221072383409574209291313140925940263440397245646030273152355541564076842917761119826682879211860545779858507104875414498601062960815359255735878478912399030023252341356033710165755331251441681583685811153953495781610825720600753380078596983145740459749787768780436164242639760556216156580244409554742759082297195369033524236393554166116186417540747343457711239527248129882268170381738798105640654948950707251172213872855192824309729001506031677588859879813593867834416613656162860266006591586691918620860484667201800311025379018254248209682462462104871015258182833689173727064220766778461752441330343143444078208094655797716196529497299468302897094327938272009018136260726389179376715851637913883503956989142139371031749380936048978717377054800258267158379374381408677649140294398422259352824448857237699496921625658198945986262834523560015466183781840378098320511681695778748834921083090449155294171331417845243520760537476454802066403147779788021785036405922122084155165403798339739053464877243172989229200266576036498869081460755780549253768347196918374575826465330612071191589233556165972037778911745214228574767858876568471046783385506465554576375175690412084587394392168905292455421548455290544018139991237732672517668887122101393055894544599345237400392385155956497200592666183748328486841811811399552570660242077207984306978867666309129899606178799398905998527219424192787629074236121091785731193535269153793528299657625212224271160882955047323408150767318020680072000247715516506298722806830893850748832984813062351446137844587405259404496472596989953517700459430842711188223303927749481523456689441790893372034388135127569782194647060462545541763878631487390569958822338398778359307367789804856949255057572588691395984326497744479734661097352494382458376150639771197552058133685947049489047460414928425873457049531610781282644910810851554174395485772651770989657589899209605351056732319012760375220589598351296624379768656568778714034889700302292521245183393593316531914089457857871283998346347640320995362095537037347027899105265194699848980703656931751977572881832395738300374710488913867955068383638773893091563748942264206490499685434125830208310807253226080228152688696002738080386281283324962878007400387019761867479404773533668676483736520412650433675391928892845072267282277]