32311985649478280089703662431935519891618990224479266629836066149615777093818243248504952903204135377178724219244644109822975447024334838119240333422609106193248321689660412383260678855216881613839317441692133082447016203410573540868014869797187769562213323520117616483114561754294940547037952368521424348706897950982038463422479667759114962129736821796553177734935297182691146685124409436163036062539236930842515746124897469966345387139411082042105808534586363490704680832804491438401057198668862087444792928205669322798239708784481873939548716978325527594229876881769560535885524056225139182837325458601413424404764618210218068812362400887147413767245167801715532158797378103545679375528815877281475211741258828809007654375697125755281711778913028635127977069829761732474558078993390894560545763582056655604924419369459285374711021776083880256635335044253404642271907024178713503736773018789355737397778503682598341800967898593391587541843343305238901604370838783277513841251458659733914118498570780245575908683047262460698016744162663796841271774829643288178332323687424963873428171585152757769597902064243545192733307101843187621812211679269841510721946745477306370749264873833324826085707983884624827695945838188780778508409558652488434590076368494457968749844775814265832548780534007715242312123681946156553409929623316101631341613937160267404949234782194281604143914531038711924122672988477484966537391339108971820284376694135448777640982212404609579384564983371635629598212363951920592478540627231236767688845253941197744247568463319593427121197969078553064127369155591544652406991913917999924326851602621015819153464187410955753003523994871140866367946728493043046229281299516194752183241641621350873441270384333543833655212395069437614284429779365992337697702691420393735556737507222731812461511860676738102136497546593728472329616925763663864506938761958535858465435757559810898487721968773503671532114975256207962737818272218059017393260684121258838884209148840541479244151743376957599602833246685894428408461276688662902450188121946866124039379266822341688263683954838797058454618411565616835545991563073813060757933669484519337440411666065502864412301350112228191974909857979514279655131336451649867348898832235984276813138406933784459916674142374152415180876893566377254041696690759905517997436518848706542768769798398963869468283363345782423603256787472723193132555731470044971036432225416851946897587021576458992172136713249469854618090515180366993589933540788284573397398347199755924762678274451337496556250289604270144050033320647987129197690175369408141179906594693283298487770240682656266256758041793566192869257406805177824955195523523077701148980174653572277777647808275592338943316856076697875636756108550756837811323639746595889389726003271985953910917373831235273362418669253615735558818854653810462823134923703242479609276192964185560771092365318897843126607664771152287057703276416381453025947423478841540572973983963739329164753481109932579659650460776778177172754096465717869535615836134426816698568369628871412918194473180462631642759662795378455944971626462340528987398232085070474972498297853429833716616608398487367084213060954239296202546774461718296462384703114982113736269645192521837665598845833915653413708374262557854803187839373565886981388309515172455421616287128576465990630349387160747886095905120899918615812014081537278096109611795887653811097519034171877917323656573587939399948979333359533654242987415531641683956274387435112338857584674447851289746137161488921510447501724229744413414424406457568058718342466671275893401274458421409488228931101258264650971522938422435664995219635481841504341723648715457889962187331141888431194064077411208112246658743015312492679863243974839297809668556658233586278004307749592182714675840597236216323493936588819170357367968174138945407791872482067334500140191890417735693346327010538276802367735263144408970282244320639617813055979943576059688876483698569353945124586366921964651762076172960220604553770696009396485970243539462473891656618600493183364177105643872157983477632154942989828259614152141364355723166280195388616764972959834249302676173380498635291916494976520374333384682010886864576712267862608194052018897129226472122361785863004603721827061941865443821303668030401815229374906128893352179091424039975775189808289921919573952004318636837319967987093432344171907531347297854807155069572978328197573135715512676437545363239782450402386083184148353693030469073215817468372432632532293476949486722140285363524827813956494439299950601049239234209186324753610255348487747148266946187356024519774664911964601112300235015079299156072512974809348524307425754163759440510842719158622294978976462953956110553999222082682864449882900074913437635719549195438066125030666860946235578823103495721374120694447169366571779899966068535310120432745417854719961879440218040919391231145574102311860595732568888622256615685981386375133911402489184096641216343753748187447749270699109592291846628158597977398078065833875987335793989737532484770198408490934979798055511346905303863522414895518332877128444914691975020837615996094494684586080144436504422678718413276441718057228049416738541724860655618082896473075744763416546064717024052025427427309496881623787310242287718255792721387770574916241952618915921384477562388847698542234831842829892185638955789125068606307962021606058445228073551372876321248605041003672235895833491944444403136863938252617831646716578889608795096897551849458375349917940898096868581493636727275988904812533484723816753013859274597318405771199077717518389838859849372343893850241786789726140470957295354412006859580591597796896922353812902851751185406179196371461674577693021644812858003178941414121336880516328596695886067589116597143059784576123004294108868267225383698738835977606581279422922516601631163456698467530494933837587222