647424841223696286763862186545688814729523009227571674447388145423037229887465941895864907563947074496145768368312364387045024749647954965853928394698761296327284453527505693664199674598599289768075844146778200736257281985104301258018185332286438179105081226582764950336128490522311083370445812619885279273458237644234698095487417005801176175387300792284209916894236211799974166356041667295553567828593377216819644157405327150319720387425729810984840557353841589723116509207158460285596070274838482131432723699131666793588552179488561148231924672391021131375072974397383520410656057126411194569242696369953903045621691135546042699683405446884297563255236473014442290273874630192501968520488209402217258788063264249747840949461954328684074282074684664451606709270867721131625562405084501872486123421805489057685605935262207694122957194540922417947811490045423918829051978776523566863439639416555189766036670761510524754247084173875948233475149114120668852361718033965089141500585312162894581608050645937793843124052914082885089242137624541339980764393640787879800883042264470567994736831376066846459178912132244037855433663956469131496397758243743844299555113497865301423985984291232472211134605220792494127042969485448250845622460191347411579525954848538659625677332328631352918390269611621237948314311776877312857700903636116593527848788212931537386854399975737724073214227975156718001205834311865677270642736566860155192385659453549382535132774551590692227782057362525883220275296192215118695290799639123794491348178844672666959396313978718725732742389015868284183761087805091833859555633814479411355697478366819932375630970052320458844588110141386462433209778928644514431509235516555395343008198298458810362862854965677663964684532898046566634999136484284780293889489650810726634530418924509855153150124368504770386098387136828834214868785587905184493343802579782892861760608898651786747895349123195519447376389995883574867718971264211207592577127621721875876686413256566535286056026896199222271066261056734888869110186021920532354454785675208437124398554079262216735635543183573873561901390952848565140264404697819634178819678138933390892409796884147143775577769076811848677975993509911827813394206065144739464274025355146887383121121863649059902876479107722907155243088424690758707932691081355055478414085026775637288165207293195889950745864884566758898053196244473814791253151248515979886679345163760009269776165064089257949366967785897922197589188735143059498511338081556977439063281122775359617064557747697399457046109787443082885184254132049399766887197998307549222313295736611282797101439512632501149086414263861295992154258932098599280155839755207097000160257858722668682942198453297018258024706242213574594729674266146921895861368241919452918771192651012630395636949318148222060192988794411487840239896217278870993503695384101288321572541176197541452517248799019411410922181519986503032495547326091951570466471961933184010763593924511079614320485281940498405844718544016263979253466266233067419599890756580878789106246659755919389055133918959434868758498951133168355441236485890308330109227246137932035346934505255645041536657135795617368417036819392028462793903373643458388127639047598192608948319846423329169669577245188596723517735495185963317845779364410397405758464863157832481869166581681641872091209611516701623249051309074319146315720358208639521128231265481238461582699462846452642266771057992426749326928288121308898994043976137379626527674662243532179956667633964611143239281093323107834256267498216268523658181161653756059550335442949786785163669746111375660643595979452619115978686834908478451963963681590697242910242709422461534325468581478448088066146466367940265202577433331188936332549033061194278761228217600726031504296966558501250980512213428468134165531903610037852848874536886678347412127301355978991643642987696821732162547886275164577287426977920452861175365137527416736895691697681616641658230167531619918727711020964079169404814982668233278027146354262209814138859245902160033247550859541272284227768978809549629664269691972162359218330752749781868333519583269237930875108373629517797531556175925127168439436769572916636026154286996838819297387544475930100597215902181090416231606713636833158144238087708434142964700409426404883710847736569136129141580727633421756928663363970308191235073828201871166744014506631989966554854353938326372596831376816044170139982129536476759157687594270359941140298936749868416817259107313628843391491478545088420168416623722442823348823913481887218147723900955845188525279561971979975261295909100223224347240972379419716431929719471804985778611955215751503955996228804934855108813582399898904023570322296786143696128798898644659029779544811660854050282276074127265199995121699626266078304434152497038205676012125377795196980879236811793206386619858456025697933798233535535283770664232116954090493541621599889552049957729666572179520482211931846260214282495302464792150517189542754244817150399817512793547962296936684518586277427462471995271910629031287266561782213235754855048195498665631756680707925653197566017165765333883837776959013261274028652589694346528254260884824751246542067942147077549154919233737493876031414307337328754377190316569705238811532140571479664324981758958044670555881942587466491267164924133486222015851457451449681366533652242873471998133994697196950866245705246954080739054567559601459370388457191315649723632757164512739508225460688063841671352277374252597583679182353335767098538295956096798610515430873370442254113127593664361690129356112771577453227596409359379969812316184781638988665437507191034091428410455445618699896727827417949752023042492457640882447703877985726293175455465114899775493613632131961456342868521980071166908967899548636689114704949634315294361143156284808626260716212556699344811481948929550126925910239798118831323864655