328869185651736612811064216954563699370233465771410312522752631288596108594241998254744250858181011221140729207952285431001724871976353280287454551660609841699919900283185712842931178516221438175535684956816984186551059712975938828963463993907995674022232582121191401420515709903660951519524532851437154123777426573436974149808215487744656212067739221921779361078955682802456483819993385459423244450301418107684216563424737999611749850382657878104350262420708703773048694201893194952426221950904149575789702014672015729908438584982752817974509642487325905399524390142326848057185893942635819471898263531797281554358255738739855259557504213414326316944602133861951159771113042574744165167296483978013352311949475658194827249361815656293777862164982336233280471597774239715217519091707218105145651289086246610714835598987825162309606961818551023488748533459958738176093620294514461504938689729525596014346096697126528686764057906276151582537881299367603899247854199382178842916641869196143562634048942714854516844665091039093952492133439254378664216773318442181972184483910833089968559835777357435821535616091734113796417470272074945603327322052699865778561676365693302516587242240360027477349941387452369783544207214637488585543182527632712517372456734229443008840834268975721228952785986017036504746827908544385888777998530084142801237743205339843611113156428790351911293817435902120581423811919596113262258470876382195580731042629049801730962062998363475763469583208669561777152888358987481919145253167269390898366613059991275768811445429291853926709607235477545499156242342491217917595804648182189072475310552854994215716307721274223538549113058214442381779194551987448644316020462344789554677872059939337118263371406754611986961972978634480566120968635791612016709489758594405880355879928147638422285064881704368143518283126372749996682787503350758495716658197835948198284385303376241290498084632415335776418365960035762464579912428877985756885187257431913734665946024740428868506735340597205440138862694897489198892950358843227419026128064012615954101544165764106281925913146879434500522287248975858759264438332444048288004205476395766168686548570500050826164309850457048126264274733366133045545580223866265329446731981727368023692417809461924200863748821517911754794481147965018253608761932293980903482886053221762398453844995551913767104482970709855620596389906010397339647853629252184870377153017633106818221504848731762854706469744075503499813118382429285115463873051825039746432864718867454181795989175802202578139269563174356215774470116969606181248244632697161976413218513384373987868136762746744493842017168846393362826865655175853935210460357259848311086376538697782234845248323912292039593228280451121918897076728460974481854962620964335799812555184834228283689844650823276949836122447656619875388566393339005556099535132876485469334272586985855094044485870742032816653574736998688348385392104898473806899025229559216568583254687568009805133714609844245829863937546051792392480386509858724784514884767274949686319992528460917861605897430964395156852381650799024128685053749660810006709438179441086141121802037584836934343916818800362315973799427111927022903620687165311182159945745872975022545144347469279148215984779098368288329576968929283830314590741903448228189055120673867598490654806438137554373212773971247919280380249863105673633187177362112023739967254688334172726162273601892654566089778647405465731958133076196082402635668975688481715266850334033884556709613486230385293763238835029402773810776912325443755714734862653482623492223930883544832173913505581389591258186247016984672620717897960287504363904052578625195232444397171234353713372542105651599520444164341540130898204161862234562936917045792141511262436261192463395357336649486896694916417223670203208574802362883779503081965769854288341372621360506534671431277548336178008607773655182663859376929922184886802554545398992154797627934378538619721370352178765837438515581753074981415229584893526777296423630595863728868495687247349828342120878322846679705241333874756918451578791013441918914105394878734471828721380786973057216876402912132337553051261736811141299955464342267779724127446839417416246332170449660599922195105482836382882051163597787277719235837968172811102539796273726860921670497288032386391022241686646039551706038716508991284157478165108852579867969732375641153426617354384545569506149374132515567800395615120184745149259148275989623802163452305000699798745636141789412693350794626808533835265896897741608432646752773765882759606174290348914112326331394270692374894268115713928045038462893547206913559287056992163566036895251588569297297207080314840490778423798937099246788129429678757738931753186202952512156479167895296580596828638717177385203671722867449770442241241344498384970468686635351827339316256517099576970924816306223916832919644001440270631851346821775070751132666687692162079406853172921731222243289613084946986313033235947617373263530849668173867245779852726807743521537009171609721406892567149165173616765972579919761133211985681965306171082569947714981572652775683489338273226769671914804539109007785848489478691226884306454698846074293100231070611778250731543673409122237309584534712727015733101148461048877134231487835677372898278662574396932234886731731875561646343071728892135477119206120799960821738529649993552269885341670653982612784849182992481777517065505420357395895758229723790416569960683775242020424815059496584468262587369317076776275040833476224745778218230864502745241550848161324465971995937004047439110618649102010416809022687028455808879626615014838680518407959038682527972332472410188581889872243183945001915890793884073890839245844672304423651074749127581212024537497190526578680723169438373145219920842164470438480578317876333379614865730592802333078392758851127944729911845424225844636518008706989017929633