48074669572814419275382589841077303997039214628199868763769382112185481993425211264234246029775273537364419078895785742647322762029956265739671387349172126181497975852432751960034681492935718698794965042342627913947711614495592806761694991131184523416467245745682715265661153622666457216497712742388131582624116008165414738533843341717119892592485495227769691361970611788768709304565573101849563324344610732689559453847808166875435395790227109534884218083874613082377551410522848758208703243444576629011691060434234609263295332412497554929770154011180486048534167161070497115732481174034707333975832290412725779418319038498310680337518443709134134123815105330596196329115269212841049258269769453433840397930775122304109135322055566621571521940572513313964397590349723428530659494225773795604134290355967102566626998050697026672382804966809161568147338384456465325483058639140004919892672396685292844515286615521372267484095927021198189454170386890032799632764906992113517289645343316326034615724164109890515128291698538530453862344468822392724313258164406249219741487292856427160993139879821248919044952190739965764686873716423510627362178389012848775512505893961756410226974431431505057371797217521722714668899605629300898628842645722233802584994621857544773259773545393704452647852279451598994736689386534450532881705644417628928637234844808214341393085513241635778212700872902351749365142530903836795089876226141905957810835764523886638226655434196823255227344077931146467239672889268210582906034100644334644463173739609163973616848172881789180235624887166533295314562896088914221003996013155285723679864153037394752775102998030934292340352925938656157065117396119208532053453209250855603645818314868788308417255733516870387924455844175464485849700053576613137933390731369429476357911438120454083697977506558349050613817738137380841811651957243866270420928941856815375401103762918348192177227961533752606831089046297991007076852165004993915250074768109807762266188859506134814137453920253444172426807512394625836069367630582854974436171791491827675065449382238598079416512879450929156871072376438704319189986723739423582631577280361203381301963215600614986307086447522795817413350456476861252739256366643974748608976200954119835716156973036989286477664596725332655749212298878569426635772436175384742252893546726930914218893974610797233187166935886688881404171906562971693857916294366462131541679553942817567284952863146752717988226381425714918736607857310411326822934870139784558922909281692945870965326978225636711106322964474093959699985127867416603685806197907525895145500235387281082871530167382137559288703113419987077566734806896273787063704492354098967273812515300455146205229473659197368517059958760929982606610362459221491924766531504799578661387324663338207718513204797608649113132140170245320336793417732035966454957302127621884199735062779968445675715715556735623683203219953290391705243560156679197722760810787003742848554878315539027129814713955637041967971036148197825973132908342342905572180725695797331534563425172187996457174201530227203999772221036379763818911019874495755903769603933656732359607422244545903685752280363097693427092122360895374892434677390245810799961201268487898872311132688845809583736118358710202867757704903789568025275146834554153838939071678575518912905268472273635579629167854802587804099762020734909896481181052369115347903785426621487346248275363587147875286532672933261659313251097669770421092014563594519332041921825391268638280673467742943243945485758603545224528979481521271955133338333776147077704941115060171466546559453218797540593343105829733837571814513576647316480512114989034257484697246875945736371782669389951011384115531298488327548982219997931821417482385419249722286850563011471153874258236795102177847177389220334085116714840561768537881237618993473263489914928733730758881270951755645346418879574457761282261934681788241164212788783210188133508875150281134690363995246011372467252851943159049844367269712553212522763492808297386917285556671633691450438554154139688269127943804151300737321003907172044432835656819141235984698381033405571291687975737293759576840643976919417732612184828196689133488813573612082294523757256767134837614759333559711638577830717483433627121028978359710851544240771161979138628064584657738414555203871038427612513059092025737766464494611667144222707467930526752793059756647629672632841692034869816382143692033644828491922577520155568111987397855441274118647489758967577822702123965724689332114153971839498117772392370425847225397431846275864764034949124381871386514660395735376958971102938361990642216740142856345528648056358678949278403415919556573573848880336833476192123669626139211717191853029313738233588786932969458716420899566479611360539757324132823534412656823017743759085403733796438774301637489356405492957262608184041879242893844744945194412404467720393547540996287201771666870413892653449555925372812257911413111455975332350472111488269125628518243413169623937040167378354441442883441150764944944473638700553818432572195080490362592618526945158751634407302882578537629584669843459752627721399254766229256940555416869162935533258394519287161370446797907240726931695185570655869799177742454576786465996907707954544861339360418187844410975092966592366343059676120711293466450797769228122436789936548857728602254868361237735791416083054016248864295672898898124707343093432365404934382965404514823036992954839328608035216791226429541457604943541197225642974805781869578547229328067209424446852324872498581857593128692145660670181491104615442869350536672897432267976359889039238656841946648060545820363779322390124515503634360097086266409485403413795667124753124271869904159840930612627482337544876467442415914147256557552532826426281016319992449577322319884907978632256642862828743062885644589870712334113437943272610785316227652085571771025527714