64927831879465467374744736362694757959455718128677689502401629877850530536629174511810057438008670479768853966330465276399942868731244258061023205521573985189540834496619667372624016908138781078384638583729888221564644559336877286780118848657421842553558163377987478305627540673777442405154011004760486455337906539548195302083914440329658314734154246444822132188728048885077084772924665271458273312736277383129510981676132319125016253979297917227962316120257176872569623776569304231655008457477677143145693015681423956391638480227552141413092670223249189440379926608694312522165941336485948238760612270517397136599322095648683766819827149615503482835858104998060803954049751192156245113914422345033576939012209435246649188880327430065451376817027921599017858569282288967963960387687877104013536399172875787612673316559174411196894945348857973808179429674179885592995113273881953423664354025062774765740246565492266426092910717641066654061833788746968491753492921487945887472170591797472707796085864384055377189905140227223828222808624257753071418499967780943239243043072530523205742231475794589807256739748028177240047845699241988788232239635592131794072799479829497664455115597126496355990243086198866991269973263235619917975507921649472163101264634222087368095384914147863580389254503737713002659339727576734481736328008563263376315222598873821675632398078115229127593281393342873491876542130360452815785855159154986513815788814149121515687755994642625820312128005384424879231922461209510442255993042242334949428743490502937837517546158372187653581385319988765737145735359521273624912178604279870915178228308371953726737271319420997285340356572205321940594556999652994799827709179540696751400760538211767822171967374754407553665459974215556908184847076530394127641061057639612902208384816607460337159131556730940599803655972347151441014033633537416126653094170536526613636187443055295876396513607856064512738634788021297783148387844682754811789847864381922358839733661652773343597670677561911500540242683687882643153162666592971474443672625981996979948058335191954726196454835535085779710855532720064368211322693960144358963487879327662240277101824849785453273287097886808358687773798298706494722429483753856856458013365713718165782571656351376852770167074320522194664564218152802267860979432685752433463684477541832501615221438778582865177756693300710026846778767180924456919590423592355476756315555345933541375393147362775661167475810363942711474911170129914485049385648322966038140951536981596737672728986260038675381825826773203674431693360972078051474324244622502242717019105100986891629767977719489955963585765995262243427522371389127365555738153668744323246115525227115754624565246931001790766455771770615237398845119295711492920664898972887675514112856252811982402770545951459461925859131545360783640152897528673907597567090153727026482155170483956076255931884832989956649049188691141040920957824866992174627219351084821837634238568355181766285388596058489296339360528552866092857498232793864730703329241434414510552042602302622325531369241047431262745298308278847377094543242354061337699983187665910925082572970971957783006619475247349915430162568047345549668586746213607051647908579363404577554391344361892841453025126784131494316453126902786740726746584719841179192322438973293169436178844693043415340671899891870122163120873738978904198540844402266042246840155917286250607873560469951442159988254317808205356641464919164784294725056317933753181667329534728493974932175794393465285421072146713825117767127378617129957457335483166918559249539421594631478753125723029588236218184398658694432146407173336448219400285807629328133209624898426607846411171450262665194241871497692778049439774975424776644849073306186471984049569345265898962563892173280387020427156789130141732670512268469909159561195400459761456422705464016628294619342763100075417257702835248218769656497085412712125112295680954888524376527271952527221377813875602791486634631276266237256432229065962338449968053553720386969117295699513394397834145635615170195079968950635075587339287637261151551393079278426978026565750860782222516796455438325082916043677524558661387957880567658806048415927968237663901173465866375087488393134759257459660821465229831833695128879044805369658720947638649268680595957033843341447320609196003605326549317874939377859464260253872913226271792818290824696998495829279356866674599016201244109111561984093782438302775543331245648868152981359654634196907564517306359594303555407047371275619291928590722928633177146344313764671951682049286570486220099257484813673741253788675093026202923029729945243042810571955015468362808981144334353537948954944945744583964125425037152469812387305773968736792510846279387171160115776552022838103188758407583162097223543188765746186993187615423230273982981722296131470842582599120381788359211166230697073471251094151764606263128877477349216008481596032678704800895936762238956029999119501385581394466228645544828980945682208892485260674661182681154434261766441337628977785490348596433823275506777050525388931190529646362433544702748202063990755938944236774078520295991327429630392761929542376542699108309579245630880830647145937820371808850969924650903587496478907461066124268976782392815374745320808823409459562776886258425164913419193552348265582111891491589939731162284879774519245197961085368966027837439717252472938732133771757932016579811530376714090508084754301894058516066142633689351974477413986938247315685798855381821642501736076485556605530469752255557971154698648753454761280749061612855373898359559114690203661678072641042363481764072699777229912210514274733736998141345382186607587709084844279536403108831562437503788311254101559043776367419202424963293028872906536718734799193879934540183450605346934048775725397384842822887943790330879765480186823440799772518238607591640441969