64972849821257380498564642400610599978715153570802280901881802359062653363068417770637559052078366745563029734765429817279916814616183983575401775027242717748826203883581437818560271188458292716914595081784814634758451687131511764660272350670315159235189264926970182447235742611780802334722133406923997495185586613814838817233829065359486868624877482956338641462320457537847687843583601956115921265301795077893838521681399313057942891600612689474809874482825316900201256279944609643627805980179661173219045217328227770949859867265559664268789234689612536343826312351305741494818864652324284692509095932077594530851828327119119376886075397378873736153515478507554832294212680241488737914429747926494634287513294287582278923363095708725048881582441034608368144112531305507453376594355350939978658611053591921395805143572563443240188491758492888105353561888117543805220884990887697567891458836083524587326059430357822452879437251777189298803461428326825180826583594211888192956481860336418168543739245625555782971316296769347956522176082330315463098413563230937244856682722901165897315156295346054533264857016616973438811235892144774736763331226857700852457968051537610649739997798676736765449356310273643350466734693897412358642194431669650108115385889211276909512114769255549633973162111243534554206045621451146234238947763077470112725195493888535724103918386038262691515166148513468146695108138487598834197743270287868395916556433350987466511190143286738579611625581978691533051731520691863896776704928435028917789856458985643801817804103267666433790373141928984077651021919742861543645532253086579067666723519719178610201087962557603155828686226311511586399000156610559988237178969626127084238460184698536098566197499122603236444547930265569403261809834559234158883972519597702411026830272232678317076934538433233587610306057158792441522382215974131068658270299477909355490281395999688557841990932458704621488337882837517133513937933747261812218248600321832217659841361382282210146748774750282402653464644594016346332531676994169016090109321376355656444685806929729625527652478649308661343475359750508160204921197359028912913787083486947551489589037149788748791650078281337652270916482993176834162734733722373920357468295453940446549205812999532181544640127520366720185523125844148164366373557005151182319885593815167068034972138430131685417557766521951377710926231899758534134409304365773681886599004758149141617875524044724712180330982792388849916287192972866242523960648722739618668624105898849626216633768298160576622552398756538457766663699219215701362115641719350145578491228634865988139941679499331110419025979909659727484558964539166896333434933777548584161753788063687461867292039431075062985341567379580620902301917069822995593937637703265743793353767414219150133485902485154408412267791490108173941552477654626453842764929281000366043216468790641052187337341434637031461901226035694825567449841296843399932332980727183348137001748938136790972107556625663227427552247106814431442601806578971698622738184257323485153865020758049563430203272893332564695775728542110193598528920491639239993446563382393660774084473534537935778996304243365063520752907472416665323535365340638619638303751771214539512954388114801376089464191821567298239671142115237214713399313819837244766394234431345265612529309262179180971678295373088345641930612322855550277731607402985879180726934216721023976846172452762137553893688500221856578650422964487982168755698061835815541530586436568618968913354226969220458856450799638501527881665476445796796911607951342848798663416534524048787628856999664836935080922582177247891908157263794828698470854664614871682899185188219521738222917023262762012673681150236099746227844029826709993740536338087854370255625189531832291083616389797888814691830933393700523753047229940560726631757991926787806917315447052528923236348238741112111388175913242406687093766229270192047373593668116235793635354716821455288169766555151890981752375412689941405149853231541078069631486987883156859731447485639781094856200538177693835542914428709353213779914378929872435826960571506394177817683255858313739116828754994723138619026294838869480826011658154414012527964244974841740557828579889941741753452298667966367469546903290662136887863325256750504331332645769295613542128346095044965415801197232579885170260251093528997116312452188135246943891935135842874118040980133495522437076079493960897676845781188216770846011462257695741331312621158455529985510811686784575491371812479810841964758326233529389389165358397972560318918402456877827612794798964078873770564175435228449472719214175499942445456476171416816737680371496349939422070406364837181646697759371199627546157898492236130460448605736390617275165313257747824873985062494119203625387722118778378161658010206069396570894813667162582066643632475662421763616141389950854667809773824318757684212450522059377997638450369819383616393087197886346545241396456330413420453336431480619059376697634652387214371147420756212120355166527364736220669729409491255002089722671987505987169431834456090058909243536572410765536333917859436688858471625661242766679741345228901522227851863173924798817716119046946410320419965711761210802663930792039339435012855933674340133246211957819736236811039346604108380896907904105237956286779301766196657417482234965472302975001497828661659868246912311483750495676500106730666248773044692635940585695737824548568106978984562936354447716023527126864610695811974953246419619537763546890797949533512148136068344977879655718960859669992284339237610529942457993330428926650501759007889526802180635517475601949890619473551446384332497403427695176954532984267944672089821830728745150264276760834523412400370343415819607826974556867769583905582236949244838760746691101689647659346292368788452918250568825657707045046398967887527988340840994809687302522635466739