34574041767570836405986962902569202439426054149892357188993577873747473519580478320642116314807314726383513044962831234213375478365913990119499989549252316563665226770897161983338459165223893235579452855817375654350462495466405369029944475865625957827080745627663965135637646112256260626851223165221224848044941517559749848583742164593430959631753919952617593127683657417086649062829850894269980715691322064709035683640891710038752165462617507169120608853993591116327385332168827622459988683794433439423182853926162178957649707396387636389322922790572135578347269511169692697130289274929888989060836274284531585975070960810893335671460101812134713913176439642914643332770598174245261347780908342935849881728852355397291128751290240522666559914938173745033907543089606127503682079067614504062611674295284309169624495198710730241452387333149067708601482619330590494251435059616330863801753890370061238380338179220692707722993553880390915485856137412257999671922596352115837328162113894933427976465325705875596773625644133569686786894363089751955295109596083216520419932383406519258322096108423826217381173884403321533023177961220069381258320968371371695997458528573353144831770626143498817212654895105844535712715662508920978038198772414901202730320223397350999064957832753099324945335227782477923476594413670114121472174006554605386485918478650865632697166806312931974146392850847199184506426321239551835318214223261860056543250135322982335125260736363743360279994781947407479288292811627810791695538986554501669318615277862685224812556545190243430698842982230927710397354911485392288731957888741706711482234958644052742126068190247931560826341188518929144842775743140101747068887686422162009272871071235189259105772804426832985567358364768411484090270712774968536718377908834362332987902810748009661285732625605617145597900613961248742335734831944687963368180620249909934919841564621645350205183522687713193979283568126274921996175602236528241256967912424100985861153752483481791437933468028698546884288291167459465144304388115101192199922308764561639138776486895386533022807260936346142750493251872204780473394371696420886983518163856934175928843196923495819849007697583261540828199182494324093311731505193723189483682868304743786456462073624755097658522095405841740174039915326155725682775025632888374831335195269540819351274811374109562678628695832382726017484917999287596936369133344812866598357751622559555260742774281195921504556250478887847164660983582673596869595140834488189388158706586773365554211182026417608781128585357741111991289513841170437633021712201788327863812479477688673870829344412257166811223924301357198894459253204491228875706494194937909205866314158017195021623575577199295221990594329683764319264347499169071565133549753505345049105392741202772667774347850914961283556868318538058771023409369361838550678079582778689979992221795220044945886615107275502592220662716518641577929972243437756879951503659487360585508198066821654893301871625740145432496829903863928202915758756675695246270674948087713326847549761325611313394035323341505690385218707834063461733889240545712533891389139455597234109121234629570662428822024440878998334173257479788068375985275752045201287373584142433923603981354384759052074611644203135538046416646715285056738424646876255882828480681108520844100788303748926949996783936339125171553362102066454390968077016813790925649202575172233925326179774312942957525715744496365405135878318035807433293152395049637757591685790688567883884317397973820316982183442931663984004791527479051292171402295868579086721334727748225468341110217872688459746668588487867046094398214813208055836581531639611260725695629870867276539173073082175972482517142805478559661171058864561566636806348921568689123865692542317912275895141812973347822046482730628046608770832177730414332098902742798239175677510083088702288881195150556151694932799418125962925621728077750899517470185489558466270839945068827186445696532607179735134438939280325294153368668339147034294295277583450491721435745085453033921084416263847365301812351767647540404835448111024388506399226517208953542520849098385837395316370283658986395554580509971544924121214941998274073212678209375597470085550564159667192255124948146721280181302624839473980344190524108199888376973843732767803341659855451739433501959809249113295635953708735918042560933165949739758526196724667849215799786073968859298902582843549151175513591136181202731126819127669140987819682017428796966054353194423183485378048204919702467197106836955973159987581649771524686897653420272239903308372838871144747635303150288449629379297914247346444540546782002545489818617101122829238395357779479260556404004122639546124356124648508390466529562439577493595884446361823339367350946899110346631797400792396589267132399423688944866164265993153754967940730475674354588814668162462851071592453442508866869875635952999066606221114846629297359195550915470641260689718671421919952819402128298260808857857780251957981279066035570798093155475651931979554122736171993775841475761812282355179291637139756975308639773585691285325762136698232496178706747509773315392288997480702815781979894436667725812286062957813461244967150027947337834968527243751999765921178758182350822396597441391535332928550935057634545221115906807432265244092733133096268269605910882019675717531790518657865678152891253677369205320994390188546618372076348600372244151467231588984291526309215603860999921127189617038566170465022615564555934109843948069857362471969068277373819827238911601365911450071252874083561746144226611836396411281927396622958075625792519571975168318996894004913604479555788884936249278069955148116862330685817814803270875112216924711063720195093604331786435608349846478128190455059497675720431530758490239615114490291931197433457644015621345520653196331396122969135859673186708841587403461375058518418245649003625464391864