379487389814120245787844401662278574966964626138461338578334543456478586176249665836152841348572070839554704587197958145675035962365432456983781733736151069475168043397351426538965996087691730533745873925385959993281091623146577827715848367084121237806610521135263568115406685185538649547206239415233356502618245764971408034869465299090788730810798430939822841660593812266711363316952540479168556132624459088172953515953824854097242399021405590813633329461869548470484672321318533603374372497361432328881599904852259340860115591685281354105503168658675247434167787013211637248190228717726870133948596926616125494061740857465028190348104121884923196733620324562074134438914579486693744378956373191351436673449176311602175038622384173150044921691891134238972218361739825914677322667643943494148338134881526939250603792933969941163414552772483296917840371707621381781559838233884108262936818217901713743675014356440079878336506892932195188520193692821938679006831517921605555758721578214448510817771594518224723247271181072588130488678680928930801129631171324944230810433937751314769266818960012871682381278133665483445024299934480955992898565004573321282967849336635973643761174257401368863909149502416539930752961815858278280797599645449568628475539032463079214193311517782190958318450417623353458975309822104486283966711891448763419185893270255585339575649458596477617328689685452752394862177453854968585894736140691411772299132463681191945918324185726262699383857195393183309193184039292928065541652551611941638544713085088540739099299234255204662414835798581406641308432845214782522788133341575407737313234454208584526665894526477280252346145889257732600525486912701532594992861168898774769242110377957151677954159798632909844575272398220311153507163860126787095947649492013758731321895402050988693397299792960124975821738006129275796806213775763034100796217556519211437313139748230984998565423126506068598789881935526906407340221904241394246367935963399391697309262109363281378137022174707823933087278589838425792656573457349462323811369191758296294888341263054380549970142373112634627565286794193163569150759826535641959568997135923645473081133254856338214921650883390328533988360848431018818815244597823310752964633486940056022908327570440163158868894441711294481789070933452742270781092246910339164547556116282674739259416946845977484406090839201168444134104249647689366815691648594206653484577966699955745504041722992028349190818176603247621101669202031429743292303647999276296847898969139672867016307880375078654924223082957883944709997755716816165510062343651558008889670905622261217503963365722045682915531655252547525397215052448854274591903240433557684874469156026624365795793182726252943732656859290743938477616977478857137264665692022268825265481127263095976206226774304777510064566625277458704029616298290908649644176739086776886676306348814316458692137519944476388769527593915617645831986939529190635919595498144475677596109217466844464156457911957755981067573938245099370553052120391315462751917352984921668262671553381202594747691206816543891131088349310058195466515655067955989384436628492391492283209952651798451535771837849766501411858539873914600774404176617923679974911458096604625319888588714185819390871460414503689024336022575036664868569224321655822925341716694310594442671710822760297273448714856772331536639707317402850653434986734752061722621916197361669707106670331432487903477514572942719872367441741335576925066154469215581280957928195231366484081592264743416747659032470452273928225318867974471069806839224559476512774954762870393478590141211814071591315045669126745083222201626664084366108123460214025757867871814561734256747658705215079618935866673606711927996569481871874439697744918693211326651632852370678673182612425860966087467663033406387537981704403137013275717338715842680299826708187835976669696667712174465839632064012484191708914922482544902936552901266371468400211792141503832371009404695756708695411192974079325229106025552871855528925015126503955989034125615107611465423551737212651031583319575998985494078850947069845019412600236848403923515450267397896574594975959452962197780355738669419674815504375807105447194483449576599731692683908315645345593419874247197694829258511899669977205766218664043386317715204791399778030719887011415298150993494328081114070938715667566154887846344694086529637119321993528765487417768276617956891954327564018052375574982021093492678617203941387543499609319962663349678577036904565793675758047402210643155588767396875734835982297774922799541651337288594523965208094853895477163037733332910835946020386227114272950318156197212032923584235727579727273398294959911998920902258417678963479168532825454245279642717389714988069706470715592777346134520861361492409114483929198037841998583198596799607305827723635707085364595391260499014330854495838089886219987255564168468814488743768275082127377206865233176386325914143822905478773411314902987666701637349201889935303515954670234007798216457490635272435974939993078832995876249961212872947912053451936620523056650198939016802305309574154615694806956627239028354808299918148444748954267944915945979991565930936656844185366432710583729124400423971168228336862112184679985347264845824261657656934524383176389258258646613199768375521898553978734879340659645174034337375267733934674378676273791459951667131926872705630863410444554605798456069441646193969931199129442991386610946874660657472927756506568853666770792426126656383244395315337066767665709567329237773228786087052518584735023131852716286643799115988153581245369751841871517605249585504192303951932860245094108844487538034731547991241178951171380546787685984743813330014416107700757702858438516461106392193728241341504350438887570504430583416417248749807162363723324126204092645825169662536436987308419562243443829344757964633171835961940899611786