12042389512769184390305021986407680632656184146594715599194286899892137123733972831355499592956482098511257901149076232736774598822466483581212515954197982937911262936884020149341970665188701904833946275313768544299716114763963269341657985255812616771808228876514777231272409800537982428884427418688041661664369425636143552187437656645227256205743215833614990147694547642289161312702621842187739906411661442118313991519848510695054118784686384223275410157815908748859111605017493343707071981033327720138528867209613976604016076393965863385631854723033243117718987915841361518989237563448395192958456594617146288976747911991407112906986484548079472836451232752089087656237755553966438575327867525439796905772030327813693324729870609701165898773832462615521032794560342870209724433078261968727627084311635239731250835977757196585835262038741067903044319585065577312002198876083069423750444875036850820350151686121781708679687010165978603235273155398355943737481441367909654043223492258984712928828611675413132641955277023829154861973318320996077996697865603349131601981741687420394775671224278897514770040572401216348078968251656784304693202318875559690532869651356637438146110117987356251382761369277814558344681150425829026072700973993558190195062531105821715427763459444220554125058577785823267638965386676067331023572414904525894374387148153173345380607882975391465092088586120286104859313648503754968148723448079112683886142299713503898601468801695219382366253524086941283328254595143220926422860504596792239250271762902683235870678877402970416988329612635767452324586726650763383645599605685145353402122112826602227972363830180450092725692470987720730312295184586087111919462203710965367576881528809959529447601035757631896189273792554347284931566025569078612012715823818885931845008881297703746799769233795925149352407137108729136848398784399412308220056897298435736469105885162227753389017288999484529612504584014877946332809674935982190825365404435681348046811207911652024329571896222132309855686321143949133516464477344961458376528459012815620150361384426628785565467658562649879238699029754408381791518242887272686659482875086240621654151195876884385806238257995937882772538772998421391656592948102423736457766099795685514750225036958742454828483966677574091164966911985352453918911231400518049156732208942238814188806675042540794262821814851580479691576049307718420516179986126897784277395280357698778317496497783828815307309380085292769674035511246366414079844464031454198276993824610866199775563551926544744292584895413897714858132453298905981627239386345083479093284846762537417554295447387955432595932568171240480613247209222245035889998005208854368133656483620612252031300183571404501755025736141658019509880865427641103445953833345102609553055441175077454353295073176933548386102557962459904969431963878164650856704971533429284774428255644238118631346552431501672411620486564881636532279823717765122313833349595771475112727974253147232632073067777133040805819215599385910847946329198805492148593767032356402278256330799040644455302597987667499215006319084673842314185832606124647129188121669419878831776585213335129381232855970187038991083754850160698425995599692613302460462847241560566848825653956201706352651643777592687961166453864391892393182238217094655611822728377731762358037810739552382433524625360553772973258565426465592938636643362342942637134329399083086511167086026395443037581035759366673125962156186764316732572254712874051921888347952449102496931812820441467562635912490537178847853737550500638986098767680858494537068716516490920723522662856397016639977213420262251222446774287582515779558090087571327165562369387294153446517692683137532100822546545702915019116012262414445627487791153499890963558203133383550071259253119932973712976340419687467354146785859217593058500826063181601271402989643074784925500250883799349164149695360541673549912831751008444922647180690072195934831329663170313481525369545536539979198110478321999415926377774067311304295530935629149512252091266251433115925070171938871181476318186132103847262489647266578810308038217143313285544418786394267723399873931775344250642788815456272857453669912739593284064168992183422661502376305952391828287650355770314526783237660442235671133924181543193423603726181117917161084503722193197653366699949638659745226534978231577704452449386526089313359640992449786169672146605940706815951873328069178753150784539364500094436803538486080331277796222815204957026229376851559298136778030309683516879574747770966561161631853526796304585932513896362872874988911892250091979528735053922507798414515355338215318898728011243773207459867938066286673999951725223642853021981411367927470120013053904118660677578997495270245987456799662016325792144279997742049112297737966527640424741362897228579741287302932656867407679559597705545923990424138368113603314941177776583047945209881235381342514662613806180025337175910063213306516463045982348389845593984682292896671731834611477147240919248748020835710436181117466194897542251863158056951144514517195227572073941174281482868397915928225918701926938985989147868214093994307473096857678684927534912315786920748489796799503743557105852747385952563379531909095366410579059130988249703672673434237482013142564029620951997698754414416107155532633562236884423949877522145996093979038393798733856182411839382840602178645768226144368518767076987944077220791798069949406631926667281855312723657488004969617824833113143516345309698458162659494079453497188301873814282740034765953701557004787250116155118102918707495958450236192366637550664228411112069563933456682442294328149747599926089013307166835445989993187566488404519237097378651911394927709894803477447162165841730518864189309654515319208301343752471685725762386937390823563567484880173571819492100598585893384859682923074302045097163624668937100666337498558242497288201976835375128