3074408896211288212671476954898314037272916670802164796209415778844399368215585944340122298312654189494982039482539711058505730185925426223855591852391690318117560473705390934592974775904193365721172627063062650762465939493149770597929848115577313428435240165000547845448840535367838183213680425144931266057497861557679459723865284465922917244164685331589468040003942635922801688485115263439855081284383169299579278807134317221440796861030281123049568636251047975988597415208540333813034100120455492288417264037155633827298337022986189347179748265606411067191927224460513618838350051303223535873056532965615981607922970762121265702763460464641954074493770612182234095597317164901109678554865981301536388792472371129973430422207022259487330075525518192250138714824069912210138490804416103024276867659395073485885210412928086868142172066807278116731218786519524262710540944749270399429002103590172087362379593256634182474720492213649731764263859319578294661823641247936596779069562937975993854393722957914096506073688067035626756851669519936977211431406344138758451803451039061571131226689576253354649417026238522840932833591197405094453688366356428321297299430156093068814166986161571542405451888014295354587162743187751518352695781976573946089854705534066996777532551616397235945901275564651540209290383386626731676981034361068097519280786881798624618499266840512745996653380116118147833714056239069283491177222654338207139728740557341378688278258932746698322484523788373706946660318519699073764359906158208203851628076428797092976666239599722957940271548621777329258712773409963192159273126032161183191033899279977323197718311363263027108808894424032109348374618375076871693868319408289272043292284023239474259583544102316415368253854657220789004944020863878905328328621354094309343440082761165350983879790874256396256131572671732123241737574937050476490721721933208414206818514240647967256840295236783616765482331733248474237141614932255107445589732045485484251358608463215433192465925434334850183715135283668802399768972848254601050379678965975468146673595218257454934533883093186232166586282681389202458578176245323931322317410299156968590435569226357792448784638233315470788369515632549132522866214388789896788214678017369855288770598752537486146802447883844076025257964266987328529527140953467977861433199887864947660253753975945969461060507364666847825616087943417797717151406988931374104625989615922546527047989223670455969743423888774029806439382409613801696375184571136038894396303515235121771976724291461739578498756160194728455567494861178234165970440331481554975088481422418573312049205896545890695394795467588935276247265659332205486215704556893775886800982226596628188432882826748193667604538299825146551407383514006978849509874365044151043868446615074826213876007570665898687346640045828549184993712597458469162752929851103166222969564736159547998226463087543318784393129118668674534979753524110192774680776228872558973293214823567683393213547953781794278817953331236732700761712794674161385544680992482146207808609791150878945380825792365797341196909688489283649943669833970219065073972734167732007393835619732326786988892345607437311783113435581132030324089073717401244044105790668716305656855269723653544961182826168473290530585645839370031256596297795071312219194531539496934645440789887116859252144578732797812008733119857701494877622575218144367729389905877998425806744767829869620457618304462047001198848725241783058588656556527257446715782302443762102699336356037111831057953752142394388438686426798215347525818475245700669055650584177735958339484259783532249785480990227746259289871599579780740324241289724263068939026016277251440932980136891569283338473235918434846243465722240157229180579792047444764889866474884867641560426553901727148393807940753386002206186185722476535067257830328721369622237730764518417420771837100557498626739149643475778951290716860544034661261321214668241505471137640528231575179093892115398401924546837655429995342765870889551920251710727974276101399330615954509445614434036329165557854792541934787720389934282233690039551547955771078689316263564645693545718060834108423718159891443042221922460474428901765798820370011763447775859116207641186196918214100784188980818090566927728844612774487493259695791287787628341625264904007265970041646773710554781946875499754620862433562197198646594492182615154847915863680806109927358448408564993842746778171292080505567906884577876256221796993758157152772959134148631313187939330295297632791834703068337835422194591363620981548596729710335924168718593132872985472523028789218161769320409322900370813682494240335329491932268962284495074272767763807422074212904711379764379481786614353402127349421144969255406675853409867388287390327310269812055682804599497922821413147056659330035311313326618763950543399495898826549487063362395818392104753147476408749702605852971282479057303120196853999704266528234996472634149494719787300989966388102151291613396533714413880937026941231066458942288360120611654125082441234383728268291828591525795764222620075652927591050843751645139882645352787391111329671310291727709968248065410523125896089724425680336313523260580729387870346268002362454498968733309699940696829386054912206992196706065600486271276993556144802289746374721911719246710643121938161900848074092297534692815640272073576829789513767390071308103248547342441120417396719100131777839886725850143594931191432807688436519507827091079574425050329067214124396325952248334478570904407487864806986376516581214146059727482943832093541530211128316532901843818267758667806780450459924433760897083671887636382129140466585537899862540993432074932587784014763275142216018050305999597473750193891791436658557191590939972454371886656644157594615494918837435531104072590400192741142289313632292044973698765874993796238076313