318989101276207695292239935240008943470522024105892593187367281342526862287261312010899588923953702113104343512030527059943231030093029049200197116379289278767118447138582941611611939729613387168229945930125845529808786838048296972851366054222422398451584261794054037246994472833270823833921422692457710538202355117913830688446465975175345640545203896103939545266960222516431976240499610622952096289402632576431988979541721684372344170317474835011875796754676053681963891491752778311395747994970314155095623412272313435959223413806910587385960328553129985971161872153967442069589819447941158125671508421293884974541483748637754243267667430199791015254819136440287539482843711817883586763774822206815159949555913887020062255806726952111512268466088548284319573855788606874561724706963742985956857658127042815585157566676142978629448873787374677041534687808291952976779221235054272682773404349332127512224989676179211780833291083927237077269862293511639263138507452071509244547169025592978721950644150137979216735884629997895577194836212837993713945399889961653519585520532795508483029291591441152611981504432384832015435432195649801323466969222275416407662838147703376507013125980797323179551111736127759826736125291835006942587957768774677334849849265568969808419668198965854446215267088700385565240810233333566748443099398374330771141112146934219297207770193151599806690362287573819488062066479112635491218018946436867215229437304321078919374566051391420694161123973227451468814360063059318794557589487278751749205204068507056533185428080407837593015434690618137513318434301437904767096438185621261033479524293247215557914275394383429977737064358334922268454379730218558453783798091978964280717831537953717078704879361159888584729258591526322979603453988551611721135052178362725640762172287273060209558180495534775262529255795126398627899227443979246376081556507934504592536078448640957054155843074402569790695786168247968666949709913303097284298805495703955641682838814363896536234396857750017355613260243526362457049556926641549145417204948730275456815116563572024158364436449842868177466648756986728611748525951523890670979805763770885186232542771771451102772643144923728276845895813462951694636283447968479820303622194166278554653196109616756411329503688753468449600451489506182808736198623298750936116492499411697264207291619961240997669219187927247892397877793463614291304019943943171912618096385441673713755664823329754040589058542739167599769267834879483268879950591206259749543415618605678565493508588488429327396339803975597992383192396847567139037524419615564783936174173409929665497984024428744007689094327880945677132179084397968917079619723422095462847992181457910615228270077015039959170438299284215522882949178788739497114549481573430693425829473812888477108542392082251214833037864948207013699038912260909310658841826518487254349171692650373390877341636847683703633663096706323158513902577404839007690377162079576764112486198101858623802906010977046937450225713029713245996040816488224887983418997499138654398388349151368853989524834940411359208072117627137778995460317425443336009309256188442337429077795232553650658373279839028351352629917283813268810986009183481534442984236922052884934052370244686613962622720331738319230619683736779531566838367562998240114046597478415739397319094456564764064885100176967534477418077186885465755394092758126555326653757806393513311191405465873722973106576529469612916706949506537229256157080973811745665458829579280080952584972816344223368313384002241976890773364535681382987929650238632139146980042927284415395433584726573226858206584287845479370190571191087287380646823335234863770505555517579660528159306558513540339659692720225416676244857445650512935686809162570061196658457657148478137812867723794113415797556871799581708216691611604434125987738452062136449990518915362812867067947935594196170591736806255241755794885923168135815768630960956256552695977541798776994197295552717592719459094414678114837417444243433743314683585261046072365455975652968938866705070651857184658563178742245397903391467815713140487295530927852926429262913106746153142828298533294171455878935334905917749172735333602624672257989440683866464491179142117415330955286890928551800558324776263247324595812498993840246342326095573717513748606644227471262818226057146841723388268513668612834324547615304895303935873222773374786386766562692340457113588655438190261023784740004896060445238902516912164805155559668919282358191965374441256898968055282754896663798286771803133931489595375447787227609660274928976835268322487739199287038256823329688124168389062668185039885610356145922470169596948330166479452379663648768869310365419432826971872286551245031663847783111721135905213944389822994352703983450470344206041425110938435697566562906784566324441399565442419696477411387847387908662367449824370432153132916522954951667967695498550703527727738677091610092935227836917739528499785516782063235996879142773372032561172216669274284517499591171552553517829040721135624782382836836851698724150142111304591650012026176477757344412457281605991063844281780518834471758184612477645258569903162303193141711237154634679605968239037895149233889850173128418109845798704407958542130119180648271271427014657984427975347770219962326034201678992469032303238267164381851902335667476816018136914073164927741835457922759787117269746271561587933013041667760523382153682118262598780890964723411498491023812514386870352570206327786659793795912874955065981053821284370185845103990239014420967348118634977663165859446624338971574573991587864948436745141427962631274236591519722813161799374489298758793742341724448145105493243184753282169587363104252570683154738118459266026858253925143491171001641231746199444870811762116271613293565650546244416044713051183008757305874379642175252944636656156579842245054903834182191095318308