528085361471787444279430362118445926499122530986262644141624830355315592917293798550997896483654787281938445709398781335591045999262448919553180041365193819237002208794413049121923337708096336379387871194274205108094355958789968786182003921409588496348771509813651376597491682952950129576501800831646684110531953805343939958300355205985211694670898376272438718852829731599616825761642458419246979977972393207273392120397277835243896255875370176306029362829975917819094675563551836557384144720539082247597694267238547427623636372402765284547976597143583855954544873144688627268625967582151807753005147192324325194213588073499566216566985368427356418138947917098186560667465605895892273856521623057374335082897902416438358697122239827488512556387085342512936743365702850781393296011556959797530171337515162140001206315196748759634523452154641243940686629625362019966418347343828335384973807264565076347769553364531862056890644368044038493558825996534394050976322869737296152615553696306236533107816382029166211321087853195767806996956063417559833227530813993679577668616117390595851065703085178869690710963624563548960809224407111502723719398229055986593674476696986634153812219162646210135010048979328271931544429325011563656345100970039609543888217073719506834181843841287127722318135860534447993931625964271709390614199819964427943127254343524028832253679999223306253607947975377798015872680274389284241173602904179121063301872587837191985228844353332519089229419391994594987273715803682819412620480346038185295339663146855533485789729235734041558350382546411887709985443451938223912629431542849421765482948858596437145434378548137372144445266721425285046980444235006798329421656902351213044264708963557070538911478739892870493733164220677579987019222788498694521161258742255777038463814932052871950534247170142076395706576044221639842728097276922683192479630448042490249393929125711186170819626332271297497865547145651336407918491835458615987901461081516435437260436131317038783824595324535337760707828490286261922458159914185473752969089964586474971307368939186400926912599409482582297435444298841417001456944796412534164737482867685517926283583736039488796500957967739415188795999614321241572106485033428888612711180420726759381619715417344271435305574568936977354294826497061184644642988840780933499118614788227219427316601361723520331889406552758611683423681398445794515531472299351007423212693438005121016638299723473525497858124896807499366279066580329039086713171329574963673737900557695616565596160812066982725627081782772480406531675646178327811837215127763896896257924586054717412154429427154952511464298638790854884198120691907360292290186278365614464999405695332742914108131432711473384591655011680879028778652792251464221665556319644668554910550538262262499338685512773241814079908193052313386950367847079911382547099357564636952618079502618148422402533216361697255861848962773168078605166673409303280722264902786783893618416621498893942599431147207684540033628153927819954168380063404541750229041345735646565351590046714825284210346811342960081983211941946193787894366756233950190061554919823003238479234656549816588996211345620226947881496015222417970854349901036056980296562299598126897382523678605708208966771355492438542432537887462871659784437149463546961438752575776106544785520307492217295435108829426813933930334569661859675277005420924340113861651573027632154114129062600912532374881471401598065311661506770218920752772597384106682598728857232480317135988374908339027727939961939099882748319834911238125345389536756877892097436224995638391233347099951461664888358720881431940821978359386582381333473357393123046014549531453923270367647054427886198661110441275781833407654742572272296023425224782379804048337812898589815977827221239069061609786433429483023819982567897283480307433734525437871050872068748974873288494855554055738347460157288332637452772422481215557869035843576723399082567712563877586340194431633533246569792359399627882276773357516898789681121335471655607066521879900280003099616345018916227840171263836462286580962385788724109712174153740712535033412012038042695699425981325532860555706024645871687295481637883841913577424951883555700887624606661429321564098886516492670399078509716445511479565746676363649256164078958934992228283202439743533201110453849937286286159214277666291324462983671745276117386831364117158022832005605470620638472922810813619159257818403893367253352329171461629362935340821683107845638048226580830915444214969304798233158535578873430979325798790902598228157615694485289166176524176058980763215861626434606868763604303997698105752949517682870226897469128793591503143751424461630786262205956827455731364570611488648846588665858035495554080573911969842702555251232069384785316897573934917079017533999683428708589341913969830094149705914992292168432069097177868896979187822314904392104748992053146188566888047887921172949239342915352707194588171851058559991239814496668261864549222375310394956143697042569429780137983761201460112051808483610748614431730855160512282924785012735982645625906946475068347851589845396847919372902854158104457637813783678462855186849926968252088148247471597414662750523734431226888874670226978465237513376767942117794426711670134184562586422413821882512739389539448293218948583934612681736990173838793367566082731347885321800834194637018269438122509634731709772846761623243649538036889854174218743880067997944856885981366763349819647818449755657185735474173512103858808319217366142511213707989219069530169204649600731686903984362097030987725669864104086217894995685959341139353175826818014352370633996149191829387509754135248515684570879588737939126829231608310586285467822677037764034586732627713987156502747216247101866852166269116863676891927928727360595581335626396273452653113434497697985127158504827616815819918162939933