591576504754986678646699531029185312500396541467109811366021898072965225709994411058975751462177683834270557712838212580255409706064504419394728509870986730279758795803615088531449176026507724280669402967778990773429563482728395503587213578743586539217064238662181289018716629518110337417523268880937096052661534806034502464791404328833026038299091761843699399259061285862372771492693382383715471598630843516736627017841903374568953719218898700107355891579424996748830426093795331740533961457638414257152968283305871827007289469999270622724876251968466479360379889272792279487634743103390765898296204302966374720979478391126286934031664684029788907286231111061125519381744129145552021232716864854365979432098079406454525775712303366598304312713523367754832598611890471855449470140915318088131411430617768627684315041730393114695691157159058157221796305772595597368654311170684496996398492045653913329538972724997440671822864196912210985736359369246854329279832841539329304480916679387592896859204752022474288376251433838522154956363251147763803226480575594981086657624260031925839723878862953131649706874454830278474878332194896159783756067789098746013134780423637157774597797156365277900244088155208574556853302759307086270973295368143274762715591126775344171855994245121902677932367346557723364690344879459428498397797830355671360366723518442076861311471424430264639249990278304535239622660121892652887629285848850322089757688846424425354881691146608597298318703568123751346035879793438430745855614711745952561753493926721234723164265969790067498342823526842821666768878295112226117875166107478288938702673697840472555407782520146606978112563959092654739705341499183651040317017676544476695541683172769861574508632297797065342877728849782132762743265906582229682361761044257279767749485317819654426945333839247948869229962553155123642188213049888558152486296614198451225752210739932384640791964275342855926236021269474625576384774595589878464619253327154910373976881214131418129166847372842522121895221455881980519102497238558848738256685451607522066332948453564490216694363444602197943326651867408386329989388401143248756537870049725898734388695885867026923834621071981674862536128470828310726121301638637564558598281291250279126311211170841271470578941921188723426446763099947962941439567284481126973942893250723140825591600262078444875698558693624865518209067449862401808467549266182761299981192369710032327513478124168869541159871073392476633539996074626149831288391380784399904062724347798172688845716863314858216385619376576394506234837124887535122810664713303690109129084831758811111975200224244632391493967511411547779527172125883271687748795556193960358855513877342610860695593742247110274554230540134537667666967180957494532247104448502749661385124811049751010995024950333068204315015649041282877009894731245599568425303918484935101428866803690710629178336888592955644930788980568087122465610445726675199727436840470655609848873052154045400467030927240163891154685940779534009288427972755141208367767721798994942194523540797692558145962068415259742320369925981622429400929328681547675180459385102983743305419650384014529440843143829674211272758364289372358612542621560511973807455626305714153762541846735407625985782637551369776939841872867303784096145636611811197128542055064396686097884414245075649664375171518945335965369719345889097530384976209148322952286760563650143704378653329984755342156066549927186136435656523793054641980758832658394391384862851485862905572524160637519142972105842173914492064661095354035758975169515061324860067213888867918723296147699345734423447188975125733941625414924841911730822505622909267324939858773238121749884639935503731311882131922319861129650939266329114707661568215262432227826108164330603603633585903179603477829897352250928853566232249922667569465025071676933434496817884424494942203347789476783292216296044938228649408578642261137303142811789472250893247556314230717822924679856031048571935124827371041489456221887415307443746086855695529639413245861162037379435493394679476711079814598656074899283739817216974927106333267664012852635901763862821372517836464161244723390239849051509455015133691956186753797116258649409490622827761543045547390848016054550683449031147755574368661323485658129746428367825880554725853763856994542532595967276508041698267239466106337734985549198787227348260079809390745088047137385516198632316214664414206176324767494617135169710963643504892740561038496323699411214798915795141226769002703307176239918913555655500807868211280811860505652714680314277885772648567131172634914581711522882982283146666974799413376504935576673817756646396184322143383581997626335511777373863858194822140589741634271421668832752564978524108147451910932181401929145999256876285750222282531937530868094560178445154606494408995451326793660889147343431333735193357283228889808085611310542641801642077482497884592969204899168771487201629713898388153229648131306748528295088867759238132854014241715901665441342993809185292031897963896940410865676135978418721997913621264189102051698953680574887606372445677635276109766576830606904314157742580518869713475103725760379820231328976790841162817555371195544473669789909750459520595456444357721398932787643185299654479108128643548556648689792892355747487621729316867368954309374863636160622993391902653163705387581235338523726144886279237019506039531764191636706367157410682549931385468785670349514317247204292507733721661383872959975096371654167354228951299777975781018738319753402359382099212395629537631165962560281888938056924214665389983800672079027509292459009123853270252547546674349224742446892474613754762116046971063251399661587657144114080683766582912881098759385758318878454016573284522533986169889919783847324114672275285035491470832070185058456731339986175184762176992548674329656024721918287881214535559077