60794388409997307887875525757897245906432290604077227155925423288117557596183602153696173713588337377296929011061425595460253844375847889666667608153711609650268072110515529852011487981108204394709773816798596430019418232721136321782693314600858915437669467726548107151683625722082197021688641865738719178985571044366087411282464861728325865179932818341959316510745938325417395536248500461378756337822980530399172252316766623189920717176113966888070959117109483827553899706489322832876333746336699644490252347123720530154219017805247128690471975538269211709864125180787119455692138839434614930361146843914703651535853324247931287950419382364315019668450678228948011428774376587848878733107148089413989404176488664700927730598202359524861021216913236030921212034837958757569884365842152606367391041856415549211126236832674522341945525053450682855096181785604016237718706903643835224329702275214658594229730066069834334609694296679978766728073976187053764565495998252188176003666340217941231403891688146454102193048799979448818276877737581217422847731070559883409649176016569123986948717387291420411453291336414952499629218060518772567478445529896355286275550558248952081848265816691202348227385986609607086644161942013768872283701392649233741582076769378444012046196945364366161624708381134408630955666639630027904593955974211149006724323165296563956356082106063334521368139079443200149107888781932884449527604348471840883087138724535726870464023289931407188264032357059824374322011634772616885412416625348613513178562131491879665427785893277673375513112216152366922582368120894536564504593981220471442904027669384758857519725371446438691659899303863133616735048634859711951643998205607391421284668154936446739976640856907383692642215204642639263428455241783355104596633382441181481969958495614183167419110620041928979126783495516292164932171693288813431667685622303106643553189779663270536121218038084595424974175924484965521558474481013916810828082634917171588339626931183851527630598225233634586826975285306914681469544261071022859735285053353814037814143747547072014568545168130283493781078886530681215536928874198250512717407303110578305723737988753093726354083035209822780504279087395509782551239113283938995287670718891956963834235989267113897907378278317727470431946449826577763273449025250107368133806383056583744744413583843355294583432367566941201889527211832827037407848815419963338953816171389594279460959324746401567005912409170142691368136681944043749914435434288757225026659631895702388094902179194652199439276908179201342112436598962292819421772815599443824453326131497699938164299652118680473513250642690144152075906337534251347571221844273512192359744793885039258433438928787378526475817298767551769204554255384705839336153980869358782347657672494459052750517268337797514596732986152888346574181232077840239916583645678246588937778265719776543484537705039162635118356563049169777834154905823203890318551655886976256150840126073377797466612551005101512053521117251210365631980860858778925460097027991321318717567170409187791019962194257169763514910335581843829930573798940080384218881458468543439492824495751524478767785743634847205973841478586737508725768014637565883351063232513473914844666314494690971451996205645670993375467680057614547126666066854113169312572235476343194562055835953210324623697927176291079408129673237551430028907167535076584394894818472823804819018774549492623391774788121443432511748444270150027081540511052912697180774206117629509156104224932823600915807794544825565311537743563459932717658420415733935817745392936732942152474218479882725788174256708680280541185103497091775999233876555079196460846609075956099468842964739269114520413548465396811828638111192468519563873206876117695776071539624392769356558879038963969489069215285061295320483657985493564169652821191616421806307689247731624706390027690573668744459295590742744639911364996206270366460794339962991316395164301753882202446727578511667969448751058926133499727742273681824322133546837226203283304454421590072916537452923842912610275434309086146653932291223095563192494512821801679326699540530137423245263360763000628036189948237718304508990450575030589283908830242871737080592581894993918955472974118936402120588274863588773834660647170169027334312252934176710228473532410240161362239968046179193976251568333950258669788841910695514146550318046208604914364705870256616806652325875886509157909474504264722054008734894303540937422376320327960395304879259358642983367942097787723354739157464453762723629798680544979415155166328059261831916824446194691994706975223341367478149613243652278857563647851835173349417739583166597021163568944557610257305555199419831574917209363338253218347455338017044898976091386793364271428008203371694947400774194783876254356815457618325775787347497559933872629397444590234310163190616896740408455822479024135553757598405948927734379703070987948253497465038579649616882462634995393067441885058588958599425763968411480758095199146187152659248144878900470616543914713784135113241314719947080738898584187496483739038209941384063325616868789999016978287177325508741482208565123161888408283904744167396666023515461737244795965014569453541639313471618457758139194387363535675915705430072758495662355618575647645156555253737538648466396408546039883693061031625433387152812540609031728296967450290181241894800250808160868940206626969167373122283454397567792933798095496170219470653757725887015167785993637631870475285466272475572381865602214369846399269049846216140828094439469948849983489200125156223791374219720840758732451854933232718837252586638288849198911323235634662144950556577302771844468408910567061114248779096834842127011596712804553790230039408133385228667970277061326097671876121689955791789097599170033316117738366326460837163004504339997008111777505120837212294449844707414937548626299420279082512408773399356352097099763826953