496290482291675069286678278579229122306453414430851642694974456125178593442960366578036764462706443681831434698223654606778554445549840194856472991190562451569166380389047932179793706980921087547348751144866893412743650364688226044964872879391142735162117099680513279303132217598169281624627318423147012049534526375942831146554271474300884116776667097042644867281151197569593551132882719615294877779337553047676615888694239823232592697383143388434948897437346154147538310580982617292538324128015651712611854985785577418216959283298925963736451979163477453724274679616372033827493473419761428089408816751006799268609063302220820224677187961679337033842443900428737783514968455622913176717911864881426517109287423214120590665149742292165376510287156692228493151541643335324073902250248268794053686927029244476616659315348405965221825798736320065282979123849136048273672101138575770728468546105837851195971101076559725683345146176294401129501627045393996581153561882592617065114550679523929996170591883275570619350817497790564101890565176928778130712494722085947595772031299896794899274466613533130777477852302607675035676828584855584592963221805651447961583621919719124167413351421243861947706876942910011738267145736131771701815013606306976676392563172081629767807145049115980245348978175956410431824858758864390533175374598513822435541268506391190982842148179514626048525867490566755737170605433556483377361668277633715769613141677288051230398527299113196929858477127725643227128369379213656852456017674721185002462723297185417255173608461800490161794685792855355506386073577545566162381196675696551533984961957605263312614974513696302685954598085426722967876514429032889668233924748412227370981773219439432567256860528466982741231451228900240223923129829745445543857782123566863663898098874793666242444121814436118079969056549418721353680954058948667026158122863891945618663057059290159051782733867792208782713289953980099413318740996965741624489822446436286918488288927123679522997814414163220406141188746287393763253955275073972348380563051171412781306632899417097740875882503792631723399401404700622833244123570233736183877636323799486959246612954332536294433159599889051083433911428776385601256938956158839559664209011032276723743319419175679378498373795850260424202727356544293076431211089203699854634597250855093167847136986290381282618000647857298027119411998076683854917627431499902802642227933569912113710528344450337242863090602218990382074604619748422103968632137702929515848957402184216937371207769116146830394866346488346155980943912679803375146327344628432502154868547834017292929673919389657114072181325015656337452759532918865738961248721518461941051673590840108950743175598197488526489519792679185724337717441866388955418484858903473317858233052312231311120979533825374862399809865775149663638107935745275582913056184720135323606070865229571123848745039785641169367307696212426969134407215480709800847217388789070264380081658270946226485112703883281601485210205456341342209224449421688351512248048081963863984225915622717274284468254186483097104430990367165394400436526295402129706328126202869639794381676958254056887610649669441039142515338236952225989670118312381503214073231746335398912425442705578584596437807750990246251940810778557988426211441732730784762895549837299697999116621794557127088584197590048851130591987321849536946624979415185384383789342866787899339243217655334344534171523493388957212920366020717054325134211131523258184406289479585761032326292049194308596101714484650589617006647822615293860658189245943019790166310961154985624773624784557935770860025688833519821029265393298687657599944274199898711746411843633927061538602950164277154269367556389431598166142780387555906709938489449122832227681414518126254721406995049167576762611909498414877815868546054299668579294638573311038127829551046882714347657271921606957576644942723144069425855934446009340872431026135173572043289510753969715368376124190676722517376723778105820113188854654854786081647326114834669418077762486798463336773273589337648404442932169631856296883519251849954299926685264434072533229882420156110333691253546731608750892889782780785325587329686691140028807271289876476501759481119289768395785889525479117833739378296244347235919355636808993961063866179434856092532669496256819912987113163940136894943132541709438342761053139929294345237620387909859489361480361647091586035485890081518184225893140128819641093288070704449131034146872945852089579278365434325425568579556326592887340692765209087987314279883929407475318871664111691629369973819248818498279957230972944347268187804353166610287374714692118138987689891767670426510301916845727549265877964599089871183923337872464550673095983377495502654324430462225252879286186619391702153137731548640227996714908669124854881097835092019923275620593548537290192678856650087419024067284666898462669491821986754093472113896371888693097042905943497096149311867727148666989645641713854520526063708478479522723316646115178660169053144405639148872670339082336758063234195591990224055665744967351391529129281855950583561498752751572613114800193231401937624383317881110776294803992898998066141375935855989758672567642959017707602546633517737882439778895094601148929481374978426246288724435057827176884645976831169184578327141351921677092301311263006934117576704668413889154910480194078808512509970912749221779807750257771143883242409918767781219763177602299950964578993339600991165964557571958698267279480174833806077493400645598960715093113513772255637327176489550083643734971979820394791699878928298726893870486097698533444297759722159723314538011211048497614927051115553825183321063620104989663934571564228346620587423626287603042876524799477886517555269353625435781238805672705992883563479336729387712024789897978766883078436348186613581524744855514171517381162317622211292373666