678371977877453959365641133525598210547145425147450654577023271689058491896143156852522239873574446849929761559982329982605467918308405879813905774823668058158209044016061101337121197977074146371825055752079648488474389748195009369426785736806301738682102694446736082432029154862353729152939203395013850436279785491992633349299295515947393037090830985294878910131168698969544006781205328032777175781840205101704876529412342272086961632226049993277632883145661579198389755342458573416274325171317372899890814159939177065118085743947952814470011037532459992853758853574464849108056865880448032525529688032538146148065177692696364444908829014389337554699787519843725882375430809447871924387259500066977348263015227689790972025191448789107829132737397694635925764899821642711957361362983966516301691679670696197562380971583461564077016152761787844723840394854213610718246736728649472405169311081269687915816119146067111680750923533797689932089145483784385714802960677178549986984253931493544685517642687264452971970695900457392925472163858669543578809665071783152242072021767691443513793490012523152346475684336908515802386862127175240768333702601579354818971808962786857588995829899437701975036652518522376329818414691237553614742782188009688497619634286126143105920472445392946657118930935548318706379912036871061744689682242975331175354273733735951253622342058714936899128376414220586083398345388651146911788535711144131487710800591678203848529657382524976053877548235320800383320497490917609125206894688180397061778863693605798215101471283228283502152695828627217856180455617422331028633521666844441577870185858181440162709737990375045870274607331779630308161518714312834370104614252183978635039612712117837689478851284476372238545492233541121631756777496609801211023238305820587621156964944968641755875034593879257237975567107642618931401051488536828003168415978643295002235765208222145320738935558185979594560410521201735861167798805960217520601413128499773938123092226582353573692821979297810653513341924739668065194709558177031374095100321705532397861422279477443404180857645798992551214152559319227948120613923480861687110566584546367677505153837147840122412672126457985783607972454052809958299818077003932542785707980560454044790531317104108291292572868354895137632481227009592305341544173862253151985974337130411523324085596536658353585555747502277572424778587421158675678558139477552580456733333661566636258865251911271846695934503757210914305191749990454832724670798764445216576306881297426589564465799883776746041163990242177165176821573414843721852832866215845824083535484802743527185522688842739941973889911168519755119093778249439755968705307227425922445363734438372478290082182795862522554797683348126893485367112833427369233722555970425380501838872751567851395655316292132820589745514476218530432744454537484455219975376737985787042834921108148865933692127308838206546161541912722423233785810349314619128221764746665272408288553928936248236498658494278840239070977398399458868110154195190175135228164151496374263196319806462626904795427078884967657815003928610753845106501243098507860886176446784733661345271900520326889491909340204365225799938242424288776759837586029371487757441841889088474114508916841466954885546726983046186455751127781443834026615454963162385580981696260076688552198955413628228713087194820958696616731448345382418319944579579075648737706334611587754352904458886425035361496275935697287185438396751579482556913524729249328733303432960223269348678686595991300221766309305296222326133245994695813916774951944316180804635785667365843149012061277622828116121600695893545370195865304570369269722015408748828417845736132512821491854452308574130846258274671918682504579796609386205994678594211122331029483781027747600434732385408870325817878764174318615867556953173245685861964854537076151482395651741461975092951453362229291065776170399487783620075242435934980803996754457166972238941033044584645906501777961810946490169077359597993485444110462057698512124268171370284571108510594534850468175038095859344016161237474376848340358279964675651427010686455829651514839098012738871799240723870828871532274294920711566529172815647219157281254155542985933097551722266579034971260596331738840131899199212510002866302113477910261577207339213784011186296235715555978633442382972721430021346948442949663693896428189386480811078615329137923532722847467415363494649716653957968853341070576914940180161339634155079186269352147054958358556309939539152645605912908295603307142700662518475852890925619087867214490133113066938174245226974234586419496421554210649797037161667787457688540573843008757486413282219878671287737430272969595463171717779218902974575435305172706882890049787151120243559397556013409043508013011534637257899109754104836179477506070554319596496056032118594774523912091982579957859689210335535138774489724245587747034643801417533037577150107969805543324497579083638918125830301650263600667154075079908982643964754334795715830524287996874577197688976919692543824252236769662396744873552245108889574810828222997226996412336903157981049862637190489565443976029104188982870386085728838762848737199426962539465306967702863614093217410120935764435285178795140758859882032207192133634409599988844332010597362090809978473540562165515651782245332182860118109807667937096476121790113938155394143744778394159578881610731418782949547452406169452291741795223739150302836639721311879893763616732154618422888203762233757149992922917700104266042628914015721593303295793447983750445376626644171565415943656683677476208433191759586952924403873705881738006424343280685407429846233569806359411262856969756616119617522319040659447583726427724848276548965942231472111790092831359184997158792915477226817223297819551865754641982849473285742363345670228747619053192084543158279834758014747324854856034170376312472141711982888097180189