667057185583791361035053239766543410516120947122421794391147142593014920393264913657776849109612947729296616791485069198257089702355855616974997754879769329928272702838604175654712131878858604871297716017283740244984712158865062651249288833439587457152666027517996988568423895877201320147079743556154818489096232746835342615577333255928631730756103356268680269407569221527156472666490223659297848186764359896334042059983274456372375831959349438498125854813114130345397489917741820325996124593313616509810926245155600871123525366170073932610933083282501464377791908614382159749449292145642393166910182397851762194176724385446939967278092459948183157759139848387480163113935132665497678365787417514934500280417483150249025261409442253377571958500390842484157161162137539957303398514072959262172993279484872723560807436359468380107622577061209758312678461612529767579664855411274443648718337785629664443134830542484716929704453197258441493201723888976531892801861498302540363622691157775617055427612258072166474636424663893435054159673214462768512120263002965192719326187645136184379150559982189965848254323266910101739571124212154094216717767344986563804063761171591684120458577492730232105777352938794627419122702477516265571059325164475627314233812822520651205526797734249975508541032767912679433529731370746673425354562307336026834521759547302844957118825433252271122822052787429502342834719153726038837368315790737793998700895406241103595699765988255782907207424924627708702458373539146417573911119489429049589837839285734768584451973261823416478711274265662221997743914296599653763748210957693521796414861566853277219341799286038506217462810808959404952347920708838545328300338890409817973542702251875950322862122925842954147845843835553090973594600362518035583949868850536821920399130589396680855066571318269891084867149211776270589879963850556857227416632275971212872768871469678149383724532415860358179215618879540142168757897648888454898598787232639105797671015619053834007417890415115121055361433746978441310056853670658138841134597816743526981552002681954367444750798774063605143897946609696480576487830461936415939697197579603712956199560371258367383334017667057570316807792729756930585273245972517277542362853740785678781577716197993098391543678572716086776019405745321380941755955955305164666764772810743125169327692725069432102054049267622348718683805402879006937821046971351317678754247299618079748235215575054538700540891501453476542802785092602218670215059929170942326786839628546467858829127469364125147992637957168454037154784511095228559497817901203343883077618260214167367626339608836562771017935191832929416488457629358526151771691348371649857698629951541924740976631480854911159723028107207431977741349642320486441318819802742318563754591960902635406995579514640479876544758648467234158740544850561388393227691741666363352258444234964803159223852914433176319235141124815289892018624285786753488800983474643337705921854483163316314701914840513341293045761136925991907466620487266888199051424742531054818930162897778044440057669960723613066544598884514756611570861757407823760406503484341141594492161207462493425795662594027974160515683893205881469446911620476584541924519250423459638362944714031275536474497950069691495479759825707890655957503172650852642685590855998415406687341313076417340547096752418224486820225971589189696573668937880342123941895471181389143233049142412232574955272612447049506559172933459721725892870048317965963892449083852335981239213036322494710864597943272132867902147762764614122370559973675945498795003211307140353573756447882762929892294627618384537081652291691918917777381456339958217647867783053826359773310404329905545769138785147821049836541277630394773063797740844117732360919894031528997375061947424919240218033440235224610918938476784337130435231428467492681655725781254242341894854886971733677694770582065047223027919863108243768155939616556732725558330941790735468907698402925621761542177684580615235277667439049345860488811697096405727989327759975327976080218804854892302608117731939769614272338195903761817862517907847875928841793825760452334755734875335364499361311509933220538046153871543502131963048412350695229312196507344262127388481393288391813784379937996692673603541788622412612135843629608174589632829233297791820047225426698475599778547521241516942257546766914715018275141951393575555684902331543933306030523472928671038444253852258629206284527410190288158696511137951905415075950661814740929813109120581004117324216903033819011881001783867361897653900029092113638073541409373185163196572125194365965298282487284444688481938028558747417375616017850838396230819543466117574315920747502184784441591679437355132894598799185365097965471957428311031867840472118665567789222857567195387557200049889745615221082229408822966089635853649859713855991224389205954825085359268643744886947403288017973125569391418563823431682189457542747443751311754472179378317670790152219130684761841677141194992191507558208595466758236160821980737288839363327747314787936147359541059921105973418651064143082997381490864729348273938239428340923611231226760318140949354154978930949419502383199049016976575844453820290922226715176533878666930833234801190339829652219337215077465268371243277929158537598124445522675094778532973396991787431196656906427010844802260290980136795310174887576136207790273179804128881152842678333681999232748503084533020365736130586647278486574505859371214326673750298132715256509905793185338467199169557391876580276756325516822679898381787022224931705663324797466979909460863564793151535364906928597814269923615746391564033035244816292338464237616465893978343144400946549097217618695592194218556631198557451835216315549321411430434498523495642374352932598471982266731054399319550394597661090449526999777146993555312622331342138267999618784280045106061337544869393658466681672