43652157445828199217852655523333809272889866525883391692738245469126369280873784627796848180603160254011773828997686984127778032617225788630832719665513221852829644356009885645189783311062986822968920742672443183343114761250861681284157159728533234936724890725158676641522554989326038864269058309834600534965428933985381608770383579495153793684277806902584461545148283491422664143664609747329717789724981851512380823281365208520817620318210265331442417961474691828991874448222825931823832164552151441263960661963640997242999269280667089994245826582186275029701653445861108480641978549602833434133975254746423265815305778478443576824617068102981148912773451445430063965071628758056178457623527205654957666106753587681209983883595051168771850588807576098253041385630124897737017903370187085141658198510755708841697824956603783955417816689851687031492512146857334464880783828404287418737769050368819211783554732938451374284396353499646966836019733388794047881662935155139499380430145638228660629079164316026526523710858084688436183087135448332524936858329959953214244772560593735474641246289172046641363732045963184814741332912705982676894801909325081985997649905668231267892520582773782017099983837946735401872974172505062023075421847690739104470663558478408710881654162105033893217663792331332346461457154929852019052271145424519764362727915571484398149213290177112400464768796649313260305949511469289141383571138539461242458965793537385886058531178189683617532809629334285959977626970854539103365755789653482407929027356573418372216322163542667905807088377240731099330774601158386049224353422358438405027295178540685661155889426463239695563625386772607120363343547211977762963694161527631476571148155358827569182967352090398447525544791271425309823882681640313786256799487563098717786212418829746300335219039174183197541696715064450184348709733373754265435823132626034491583138700332839664093728416263106266591819127780988734012769162837738859003544899694607249366202034238390565163476471988683430056832865050006517760914461557589643874209591794861735901221584310007127873770258348821663938980277012301320739787366385645761181239837379737158829475860871811891882319968312347262033803184768692647581148028564728126666244637337011369778368118143741937740533448801086761853852379732514566812526739401261513913927276296131743667465217792958932227212756433534897055675766814343888624944186761823772711533225875552336646145824424893097572185028954279519834114694519647539863720129757451697453880469778922898357865266310947479408581408687745001458662702880336094124569695687441315136452674706178383921632753960297948507580110599857288050847785298147304290459732811278504030744438841098683666115685499828481846630039036488203607918445492641422270828222055896695129754528894787112421443043790156808863951308184657431184465428414995132418261357356850069154667566551092472404140646845203363112591838036123662437158633290220686331532860533376282761971457969887938103416885654215689216310646937546522607816845064895522711442883921378752378559572309780066154694832099068228921712689011621351950913111144253402576863199652076803154796556982123409880428096695198352677100259296273629579642006411547498471683547921160824119305878375585907738501216945153754117196839387529602758300542499796750461643813988585352559664855329314618267553629502676757999152761148447840712555352419682879194677212351395534593352870580737605246251350826565621782826262246299802603355051487537797388674028758687888745942462829965703266347273689594744099196628899081873383753557201178286548412628853177890211358885972798845311364359172159938170693841362619830344939635188574130747269677762905255271383317218528414690928293846122015516833913419512460404942896774873625802315629237086453349499171653737758911815398713172446667960219119340493926302058495544322895873670559926577569849423050900328119126198720740113505859901380006884702987709604582123582408205458393678627577630624879442690915392189235071976304253408087769219923759586896641983922698669174518247763184857410168506121648533392487675638162271554910283646787924690717567905674952923934183639778467545144832605988896762621922519676399143568669053135828840754803381307480277882268292702795772047187602685970955189857960299802258634201245392763309185680365376170667530441221919864341002868349150162554613976362970132846881392339814176459253329614194316436347722223624974141919750996669969212579041406067897552473227893384593904829336534885199149883534775944196181552032766166824616383247471282572964065927978692860118569164338831497551194451211233637531511271415798476893323651933134668493231056382396387778579917098346739381199466963870194782004168610669238946411297805126597395479763034696789351712237047576798629204293427164935423545353056462221056084356675637392348678123373294598016186350967594017132543698854749365978252016031652388799397173923081214258539017548302892291640441242594608415196283374361034210217882923526591225971016302332840832240382042599612276936546196662272754741809905637481599650148787799524759572621869321217037628340357675044273906737816307788439152412956226277471359549672805712664578358992644735479323992480032422985174568485632417663563535553870940107700132253909192919562786668451881338603201795299234916390661562892580698593025871197331644948344546686437819554159533538349937190897951971141997094245820963640646009438943545592903263858835526026168026603102305834584262538211427645566840098991588180571908679107479797929632147520023468962988524109923710783084440441717449851109426762238253321661498098215692525160563593884889485326986524620631449171161492456310370768466286546421574401667561056235910011156296585224556122272196468362337783931000208154480354359099168464289687631116423199826846519635379576180871820490371603852660932038429588898075009622105768497706620864772242047405394387627