350555091623951942017512843307343395860210889633527190830647759824028993667095135694725271967716869355009694636219967402335227036207111399014599875297807375462368746358237985155795030498571213599589249865601657021041997981065283329555465615978826307483020221092577444017966582162112302084924234759900640870478208604915240135935918367531392948807934798031496467219694919256658389433734659223057623218385485412791145729129900982983914663962561115472441974249368905460832324332199514852896950453380959901834072388337799493182296737325828825894090999773755694092967986253847133994375186543332727042224356569876846302957747828036642358325813497875482286319292720576896428413165250712055251010631156352402867541333891389271612603520672686010761898596547632385162426678655309256174052472635172057364021365532292654606996960243027214911288565472892389943898712917436985251807416729235434827710029677494282349348075191691375843147389967791066656233649626834642297554052276053135352177868203491887242545273748562297238973276495987875982464785421478468107337810558461726870125968776356995077443543120941464801218187577297720297192902936116185768798054491020678137981165927214199293954544148533546022797729062995618756011985349587812157546576183899433388523361480636970256057733719520389957492436012397798593605876666066974853731919023131206723330359260428659843132312621305654719222546562535782402634163158204619242290167936714482564003545386137092861544221621343570754499309164551192761725080927293399674940409757989546662079822210467363843378976474891717033781111655361102857020848551479606696204729686773242210270152544229937120488590768756148629138162189926178264506217539033206588762767983582795719367519602615878853974599133938634567351025067200615266523216378627834668971165118101559471684106819887312814684450967512448290736131812300719232556517897083342462894948713182923154728921853228627971189452993267887791226653913253407148438196767869951479996954923240842435837241719190771522005282752559027936808546961627183091204411774857759599193155968399295704495991910253331700154472987094117147801536180127047874050311931475577873983177304816417938725422247842971268883158639735413312253547946380979346473806728697843824616084123325214637314847041708859631974359702235445382195636941405071983882843792906683466128178353203852339264113189160462044173219962493513253273671812149458462769958827764912592127732432642107653777310871799397112615965840918269842742095615556746365596342606863813696275416696147892527243276211573467660521650898865353451477383162374424288623526505907099872793905491737489384999269939889655159145589042047697541624134198534742210122862695845490651955872621804617746373773440642031326570521632163970764758199285580468394487682593979491273891767374577501132779089622723914328393972399062380721901835535116179889404468925045114745674816692002921634879981523661304529191953415267786684110137302218552534238829351970312167038808489429211616759261729491592935864517912927205192848621750415448454580942210172823848497189894995747430748733844497729160323733564706940781031566812515110335279759789493822617213959816912915288031804446212593504696703811895767128542318791426388182188194373137929799448366836754043020321410875427879859323611669346649507669472638491220776413506654530682109307375059101592790185006649784687586419108910911564684795644564858639132885504508176412436863521773578783716682692539409220871615030952554682302460257685907456585687534542985416836681200254154529805578461559435613040665620811214279324854153640599093384844015215019099196377915123991375608627886856758996805094291750420215368004927841199204035728739626992297318477682199124684685840017243335042095596998092581976993362364341866951903230157946563079568742178812457545358132344564567342014214986152571193569216741895653574664657276954731057993400807318766796799221795296684932792306791951967371546876283775302763449564564556221755514234881078382478628470396074794884824619857220938409886951061609109821638479504685946844312463857031744576091258856898518538587888438478227301733867027153170450255184990888379785050719222799407220738910736174109596796397961932634728551677612738944818977041947244572865257730315517863557079371478838148095117056520823855338916857040541682934717876196496230288833068911667828552297702999510396249310845123858848402250289669891761473685564550764060967721184361527211963819842898849457377097907514120214871945046428311703983455688757026116557777622226199714207711117599453228119227376157486395401918165073679343299867032757662511253349338869301499725928667393129130474250800424596896771979857938771198494711616615347712494533815953546658291824844957149879742641416014892548563724067262431538701901581428425757145839630495725129490539376452195393875221365394900554379052555419673521771709465082825136771374731964724765605488814720566025014744227967853865299321405318919348638946933587485848641301338549522643487100398452426038412739953724470350545431128601490338171517262577579392404169940393578696432216416059651938791762832814032647224113365293318354042078719543128985778191700446717258151594787991596965573445552687322266656824193973844207898925776426806075170813563601806015594350372118948316345538449749744999361804358859315584857480947121018720363172633104296282648973891364538472577942134374349815937381798389651384873137123093856663657301807669170156138995209255445367795679579784659885949944085838738339345097317432411440546775099280970989712512507130368679930641368240748975868757919935560637135110414467666383112464743326155365970125673855789458186786715761781905580534951583474813297880649740676728820160854080257953561697361592233329327271904287730198372872360354206202664909714649245892933018855841758620017957319221292502138780992521672935852973576342490289112614835181445733083031