53994396670219478706945073242339783544814845109545315325008848136939706977358193592132305629167682506681032504818459796153391709971497478544748963859856653413325589540244237643608106531563071645655776997849637899523971631009392771378726803219191712792039459517055223710131544193264152986839135034452981353963475101960503262177499443860417646265311430291829164971491536624409723921597407872656967963795939929609862182843023289962669071215586639222515062084169724828153887872397687512400130692429265229907676991356327392488415172550781005253971639563569572491012869213934082783878510558935167751343627699119535908077297082356015113128134979118289071475260236189198578046247678518470038062183171979071494554383155436167184014913787637097259193344297564226162505691266968470782743398419092153177544113796549618148438929360791644509163373117880622544646169815336495942343076075972391328871279696781646755154320705314817054498255352857109437308187211657991181816961172211736821951953518604134639811876186228473364279778883505549340583751868352290961911462801211392435699274426482936251656415313132082588180884149869230863077774972542335275954290163149641366285320540394186527455086388786554229653058559570735584926354624586107458972888371186644482741863405897837410635744368735020616656628185517417445618680915807303228273981088900037548052650825856522607852038373130222245124369608492662933306755978367023747281916282810924622338166841081170656897354909936682384815072659169342126132295949453851864456996404715653541085080561111823976895316239506309781348678796340532368488752692368059041808763254920841360131421187750961770169410697673037687525084067209312351637347728590994913369258634004603722322887810943214916521552133701893689147544547868621111635502650876988536870345717744217509269175788881681492108960911444244538549737154484414826912243336681178018625010231375731775436989698669298742340089186167870633748598265226868029214277721033556726896266994183446740979315674051665778623806692471424659573247793382354687636109765672672948742287234532819544198591471124786995642654925447770143766129925851106428116968772876953329733635999351939063603206667395667562074812415928634062481571686496248840224283379293947661471861189171561502595647493499749545129224307755893485609956950730954054550530811097596527322711598514365310763317881634892927751010978602038404928458491517707834538204847443180101185049542636223302771376371817163590411132062504193632194957504578718618627252736775373788576348447643148057914679348342827987637116581169800273317423883124251584756998768119496638165080112424238145265651149286956420309832156441271944812265483594515333315636956596868852183416981976162728634892916677392525371490261925221899724967637918255065395387668191591394606042172082775127559361848578575274272960645258889934615893004260471549769629192898712439267137694523212075243151574443627373619757202957758159656896488293386236768524416735419918105328724013317247956130967702281223439474169839588486135435457713818580666625628975901528520894808723194818368881410075077238814145692904683232156915359909453463270882016616119958976538394148268427850499171255844653148514280219235305594765885394753945134219311487388047838509107766372523438286102901692047602083781881295617543156614937384277348835229642904341885235691570795715543749193567772262184937783890585081896370266973637554636218298285621427369235871534791252777182419947178593835632651271595236338111243964128557195152394367118473063302118020818712355734123328359526728147876695153322505318375524924820842452745341812796610794502395932477530772266772062126236123694656630184023746694857075649721550864128532387732231379394133178278157022516731362221181185364017269707481261616752754453677500784616861475927966940494763041327804810711096959511647307617516461533140645401720183913377250518885655254145802205074038017798843291166455317992749587073411776747672386552054264274187561257265733462348946392643260085551610338039433947249290806649423061226433839591992668917934705522611166209561853563787427499863684724474346415562708574926861310595376716726385373326168420706250554838327189782324248613304345572024648586726417958107225413052069812141851918648922515343788507280461043397542565354148116378357721313298081602833144504962402749129727992243165973542141245324321385995624138973145379030972015005450396351372488366777034546315482233227348840941689232418993275191788594744171273173126943056347091323118369512974884310692594513648777765527152839209670191430256595779824853231998011217882272937419967516425718535262266160411958855979969870520186922544443485629327441286672360257261141518910435026237192865936035561723059626966583441683624512486371170978884912270386833122728475249228365063571549187025993111177288847233420366036549300169272831346630275692358913386639445773456758364264388002589142460456632170919614326413139124577330127243539972365071418168261710259169005235324939948695097884937100503371593752910919861658800888552189414192597763354874856182408872986838977362988036865870872367005676453722988542644737838483649134626071003112117984124710548983164966406791546728149582706654914924254329517842709719888173112192963139736213369902697223178395183698513394787634722895259792939594150873426613174567950198707293240261478996813911535462922485763086691712560684817924979425498563362637863651925333292855438747419008717859276086172570162996321830334100769912291076837334595885456575679067862404210058677299922103424253210178379201279131102260943629988985835812081981912091798107949423836259338179437069845150593710129623485626191724740035856440832366523166222476753832487927791421423483137897433885261252256646556894052194666256826844786625800742754101226696559255509844288657942545753130807781558826454521785434998957165332321275237455179114740387265174181542550835175238013724084198758612