4984953981459086253487363359923387631316440781327093406485316928563113923561560806592536864932486337146822294969223428993979465512514084220767468220707542932694939582304023234654066162782320056627173187442405178631820432639260426045967604814891064487529715286468210801740950168636472576257229433170952488285162403646997585418788525501349404956218158182786011252455705420990083450607595268121696288082603931258209263387771586639644333185184764912679378357197172559847349797984752277210384626316186826509048956473902796508236461800492159968195664551167955349845450490133626971175273973148796197901995528467881136003365139127100377840167484993897514081790112553370548820191272950288574761534986975035831552955268708972454723988377714005548714338004483317652076604213821060947318165819242750481397598527779897611685096307622458695723924168202787117424633075511614146300803351943833763758695812951720418436513247012405439840080965364831716487979206836719904112378802249375678842331596446472289874326751481913885764788416769990004291676437948436989261957785144942231729336029413182652532506329979415331421470684698887360724631654364254550498980984037358290683235759685391336107583824088866143727094289557496512333455625522457545635818526219777914754782457440278026280331568217402349096117417540135393647036549587299257556597978865434720871493992865194998211353413698609845786004901914884830751370884921866432488896356258161191112731747699848293782536183687562695471245936057484179505603957462661445629655757061029451688757602948651575470660482811986816979693719778871116374256150174256412592582449939312301331397934052962663514132781633263788522297309540052117851808975787018801141247757238260889471909113238952558394391228982339711121583843295057298294965980870828907728364155600400646025333710423261747037751431332209225751777837432165383285338372963541457415834745424431280975334419233312751811664001096974924184360781288841635212289712768035994782067111651119857165198675767353182127761081719106920597083617247937347289933929627615214269567223446288176769345072099223111825979972713847516333539432434812323770095353334491425972310161480402909445023658612777885899644568330786944839389480233389735948431913057961163329711190385385555462720027377829110492585794489691818122102882824634903040299239801245787199830303192503259417059539273481045609665015819803954024884573661882502439232180367501151579076881376159315075193743865046767058665161751311324479961797219972334151381737974501141627272385810583329544828258168040534121013242648223557878946487416540121362478104948531524367704958522669761170577980489728165512993122133670665949818074203090662274188075568927738699999634968444710920981393139052007220436752740781147970401553454423447010139334189222626266263628126281645929276183487154239785264832970204916605967623551320064336116897330066859621153067373335585746577479530433196835327633642214450992241709983073803487543320262358903399743850419650616589472128655499949935422445357989204030793333624561107788484567711394231195407040341424277571737646866437320585537565955618820745175526610857908396311194393558347567097426189655952756473122316989190916602583583636057922985498231366169537371937112840550035634767342789502889241295562879671946661468352915377655113721144922942501935377968770724637279329299933052242997390722273016321560963618909296061204245150076988165946195247349408315767617368778643010217384642862949524070478383178463864752563475603671923876524171937750744545967335594301345614162922583071092753764373838611166112255176780752567155573517865226743261378941700846754424971684278281709721183800828671327208155795860613656146032945567993054313024939429571722060960875129629670854196837837227448021899556441585047666124563558857850818309018478878426572316507665273705994946667239701593239788951318751840750474032621343422635481138823066931704824064932583317679763313219082076245592288679117538094439220384951215846834943056842512945744478886371388348748719346552612936753221847881957460416035564015692123212528193909267278919418806821706071422191477913105777483817225156352852339764981616413484145015607391557032509172528460966382172813172881636880041178149970949504704118810569082154207032570413996765099750375248230468875252648509662759966336986097801939249214228497259375541662848994637118875784781372338253469322842210919937775175949508071664065573791993480942128433902981021395993860475336878784548885624550176292649139576728247395702256988520998206149203067893929121127630720216428868768979988745524788965958913155645365877878276069934961957592532195306062069434980609440462557916210482322273631377331991534148105488163770544779997102392322313407144627412402335376185592064705725537193882953761944101831594619717913675344194409036832718151879467153242964256757946815028798222794388849613915367108008878963185967544042125345269018656692415524128935100988694882447549624856774826952739142806482154137173553911783495654274009827663478675123803564865798643832506670259048865170516099181578122888015177416988863590931455646984529639898334478923465454345178824856167299304870145129335219734207589491325962839289066507972538287133214271627649486631042389964439740319057177711356304275534929274719079488605640179492079975575273263593027824883180991746588494364873894163497965261057267450106153250353440444369118713941759130498567646088519786746948814889996009009425967574954786640069507705208471057271710431008137724557084779244547246982482026073391663436540907892946975792932914666477272340069818309512366664481413270156067126118889982877943366458148804276541547231988868623347984467942528681085059668531476234387215066687684187309917972019709176418848333850862094941870794987837735227951645087942819787558426770217963587752542660259377802018854653370150124404395833928510631165941255504695611048752932474544935324384322473503023082700517647706077