313544077529445335136488761926380715091187124407069427159828345119831836333754043215589649091709182855999058594409817947824472982002862482681442428799731447383698914070263206118256514527511880958216797506064479798304430044719607910375396175873678290426736892249989646972655923824764921778421078978217543457535247656167587446701166259956134179813486938980585312801354034307838506908381192479874117966814897936911631512393658232057663143151721546796182423662029549357117664559096435747103924095947561741939785125655865542224825015819378754088746765557766041581950955888818971729679567103577369911927817188823780614269522798948538629961426651857047842350894218751608715956353112210486219039071919124910459111338712665585268761935792434433146898757847465374877595588897622489715915411869375370312489643522927389302943525445516267662644021478800724041452723599231734724197095964491624914232871994115428961430245682040574997965078554151469192878175427602790266228535404158853454965227140281591623040538991420827323784055414113326296558842743118286840028986593635786465712824398447095867888270636912672390859552139873134263528206422454896343765536092390362549564965281992371857829198618585104629507587976775187063234696566015907104170158835814527736886766725918642276078174394514553640528693593636284089373762850909853631716158897444757335779011727743216027157741385601985830193446786947231042696095626512957930605266831927153590841438239245330470934039350014163427886313874535395477578759185933041266492898382526253185555238869941466536731115886771426290629864716932170479588192799619116045448285236285198351518898431953884098347220206122950589325102322854297311853244193311374444467551098835694136535130347848427606257561004391299768800664026051654366120711242507323106385847277502879693732164133359654376383035103304957035294740021601801481363559183667642447270956834257596108942931703497223898225808996782868075413669293440360140111074179990538138681515263411230977129469475976263393390554549434386695558708971483696646897936486123659872001071731477092014529347576382517600077553307933839110643221458842919728958562843156950887323078157156379013460759910943525125124694436559071192443417349356979673392956017518712392192404256357782259983939648118376729465894269187497796129303188933714206285762984239346725237904963301246766339033331271591677337235089431825746868269466351788294171979972802500967155123435390588825399874816349919717122187852679587981969791756386515601717576793635813910520166044671242755512442668062021501812426867933748462644819530275845095502139091208333756966618687233933560981782058306966080332031334279745151469090981691997180382632743377538389747405467978966666592575063207262657979910644229142705783796189457784571675137284544209161904542158539702633438503333229637815675672718053895753455254269676751479761803329509606166193070082715400123682262183971519127448339982646139674981277528282081601661373310386752664210245827376264425591591410237051126419286467128206594382955844656778898328666291018605652789405774787184475433864031334677263180245950022492842731776657171130784063664948233157392624413158763324562966865484332729551922317198976479625476052750692246547093987425933082691376783418797496876351659451993177943610489812431878643679878627564289701297758584414305195270682038689225798814537398367954478996117176360549523995915927598847031788366375285315244665262955995886758207889482653245875321733951887526169640763032714420259750735488920310806486813604812464674157290421486244248248030457029798035376418513014316559343681743164127962002757787331632464239941345905551956397255308253673693744874171988612399334071501816288219953060766835500174926708736240047539718353456091036383088557025338584358796338419995910715090218686267891877035705576683391016007637163012193440493756374767072984474728133941422668539444216523548528078255377206744640494012285164896265636134529810535667784945666230531557317122278831201953271403658837525104709633994387586261967175484728137792507629936554539372712064165344575264516545213775555603673085796177822557737146984861882715536182320667409278805075644327988776816074887879312658944214313454898262647358750679663934311319318499774614733281770914615510306724861281484228771050732518478473819591760673181421462909577654435711394778586450678194498030569674832200281125035649404898089222376940902406995120987694635148843142842625640973945294669678220764617043987156087396538753715720462691947026816617793551931393378549706665089674740952429462807992820269013390124916007411752932652652970261796741154365599687307776767367960336746586201849027982958846181418788815305015896851484222302199196294596093504004160297725708781570299398690203911281222475117639938241073078834215752144026176575627383197674470589074430990675747528633086467110264143744336967338966749726955743489106736977793589861274839181704577173163471720883467326328659279857456327263625613355745289120330599970254166692013483018494919258979361889148685857124228946287672639688676923506591923700143953894207404515492859800224224100884912895504250684538394544175473751823898048308664928998809213629543704243375232958368174115554450999853576488487286915772215655260597011237300031915207174818834619255637432353552850409859629469376675463855364074670277725510883969112813409332814838737814264708491219441142617714429131890641728896667605147587274335121034651496049545173282462856966772497536739442542245548647138139557436859188964823101635573604363545011248545837241849654668752099054317873513815804968386550616018360059194570582322115036857054021108623215696353320847405371446569877836822937745270097861528908887232665311906275881202184658115846381189658620165399511095409311045060197792559074946239883940809646879892712472885801101515739646553312137881639530837513939856543257566647401742962755839629925429324716