3009904256745157355662951977748152181329469313744228358391875122460656913895789299995885544860821837699801937224058498868349251954748813319413640661035572258949436920360068803696405581720974048451226593363601409338673536871518639876405514555983276132780034489901071434225155118858932274190014951262860213464102703547185929842926119602546959996335076889723257752243062063491615840904603705111906839213859262678794524698240131141268675164672362683366308927061093721822582413389022699671507629029608214960529162858179776211884716755585564670963843093337517238863883435671184389438550569208875816782501775878208471296584384786382744472882881624415377445280955160907887546765663464503707311885968214858163989164279540516318712418839312081881855643693059706568682732874285082858556869157265231188989297108972163858966661546383808476485015935830785685266627285021908596443625601769170927404240976792975317267291503820828992105234825825518907134525247549534990256235106040982476254427862844025800873981368228562630077280174584358700470055285836116848188558218609650187571918795143839241755058672272503827527533861934162228730594622266441748143905764998036036486630716192899884860934244331097817696036842894317889828295646592097048964659741043238480864793883261815163907946558007180175958131940274744097878549548194042239257245987209673815646114076315737265355506341233711746513779116851142835843508424742075623518616095988580285752016675942857219774108083668390449697813530580567066531632992711426950290578710051762441554457577387854277204814575129138143528770597888728355637658962577866494396788625214510611685678032613414974523479046630716705343192054957912883522911593694537367412381974325493512697771753625050192456183781049608782354553833029303375217626512288773511501220372527564566675029793737505725414881459865918033904628731045124368655867036232896347570772310203523758009570216395743493408546085066413695566193652527948279346538732493474640842745809914772969795172885749934097336458712882432884181600677487317895972949329550112022463968213275579647608728005133275648238811168522191251766376040476517856197662939643609768338671999696548495059889830148072787215071881412856957616627116537237421278399545012679827657529290914519404206499266548664225454081407142599827115027064639688949241209647172585922529419853162796612110222152336883623071398576023618492223586917740591678974616146128057401185317536763364237834284628362098892026361661039548098995281410146814476891899093098048452530133148425313396966416873955929978299445561817695930636826951313846369203641219044049363801718103993702627142166110555645770314739428601190240768797993319248388560395038411983866911947611832567526221496839615553228972336705250703237778067885728855156464252948998769554582038657233184813731281725159135743183714925126319609396790325171683551675158733110726569928225980453943811030112173811789831976989333677043199187526856988405480137875681028565030086646535265062722232578147063036723514013108359161861113867045417545900824571298998557115691987915483821438314658828579434434427708783288314679034510731382141138542776374864503611930121948236152871463168274658408716720896973374443158325704523828460541713171882198522744233488306737917170067392462825413389795676647107376527205997596977272778668324049157802499839298167432344061227176679736769686618497604267416553368284177755463001817656857306176942553915908030048655606147632733573577252092636486393762663625384378414981533972377196401271561692711001824170168361634478623568557973199305640222413153177550931869885065792747347666464707049892253704711412463904056718750710162179692534964689005177216111623472919610412875340448955019348214589264627593225762631543526246128379795225161642521687445857091437586582948592063935619953767471343792211856310969346572227932282651643388918440244896475820084519421832842672249960992905980846446331222275834371840483923149444374932767873778185376319363250175417636597797622837627304354208922855437408416599209810313352019456357433732065148618683224933160961631747868236885067553307969482281045370341111152403446976615138338873633780848457724208336492551660095975677359465467893738594672258831479713423497616439280296101339696234844395598750152196969411113692517273010037228898122271743243520813224632619384328037503686789358715960129551553387727773923618981957125370345310848498119459349093778377619385498818893613316919589912577418986509354886969059334412223738876667421615294313992496338723876074472192276022737723870996408396280371472159366146118952610674854225514187680565649342849544527135813537548892586517594572465471300596213983687551199780959276292093270839892376945719748894364849847229989824235568647115198050447770183443733644654249278183569520241788799151825066725086746611190833181539091513717531228727990996664586130983054556221845612459765348519645521163990082818237903380563968917861899364320237061749572555214922106622403656924311741937214121181911202561769123241944242841833982416734254274917487762186185605739244079282808311678470513507449061816604531065179927758427233176434042568208129516405625620479047416496970944839216834184327628412581469949415342675263524123591379261460268658538493284449559367900136992786265445492187398071516925788894592023113105529642209419787244434951832566722239918587345512523728743099469582529415487335374574877368145443467427714188340979280883267659343341310570252955714331340664713775344589927327818813754103888311324621366734739388040244418109925079065149240072048362634757923387613139347317590659978092110558351319190705129869861261174134264699711672890988378160198930666042314157889104556331494651484735142551791505971847979115886756580811280415444968847478297297992393799283839977910480862131842072097372258430118314710709900059066710196796331203348877794029546060179854836726455335930837535813750590553443532