45588516198652579281744476364922056899442041307099597782588949813831282618962519316219348548392548191037589625611225389841443119553798791887985935430112145814925745128900914647108860517372243147573891225172923586146076521415544563753927188300655321099950908476801068424945711905346445136142373648931534763845198569754170331338468995376837334442214656142400113901651639776626097467993099123430750047209512842985347687758720694579467757592166185853075654434635676263663348386595348478847835441661744816954402334365555558612611603532373562833691394867155132042265811945613703638221087135113155799460391978172005751790162836847805260466532502564653299620115179531579761391486964709610550430408857997834543522342817743254998359448467675340396678160548899644480924512848091456151335024924397111992970661378194144718374018050607717119687647913184456731379743213561996046043693632253216456474371638279156821815628088772675978152405050705613404983225994102049175826592313046531069159586185561918655085595242977618556855995338879585464905716881138330068976901594829410821317951092845268320547484967328754242215479414074617782470669598988286389519197353518198997239211870563391961180551376116273747258494691148575790263212326435289203650735416204885300814565508975144755368202893391224391965035344281192129963393662340956958705541827499490889287463641584826568133394339932936720196979013803783862625643956671549637977939690306413302581226522913744947229697486635446964830106461126250676942751420959955319414515086406870689338369305227510264758488316471652473733512279029581607945283033814137698065915178213006563242797103636456388650287934875365418251014289697249295965891184178663693727673856998647411871355563114696132984840482922744481096809154250396106068773119141183927578505587511954281435770039973997416096743503802201449518212609124705669716984207534113165838515173776029168479143971197256729756264538561647235818941483772402844529433086338889561884789348045947319455244047838420835861880314094988649882499088319626536727342397943334971247505321474133419703591138092405942498418317384060026135192129912744852593592356967988723532285435301359836047758340032659488875083114981287263824059988885326335817618630453151711407663105203758754149902857785877703214320031015876385494667542358917354529338935547897048348460858737121728770599234067613843179271625136256555136613606147507427457977358668386496130711434066265588972591843140693731545901724316880284951253972042680605359322756906556877660822167781275224120755295395943616319666203810695740552815222229984127270438583540184472872760941884992607859526573492458929575863639464137100751321336989438710194592751206602860445526964561471343693603834147739918238246704482622439497888755480382095850669867333442194852612090303958239175477514141461158279106794735167395942913085586306971979536380123756992620775647142291413400569145232379338792887940679660342065574340691150835461636086066649793217797451365661234712804319419492908914758597864640819772023872933915491645668677095004758713364994499629130075539531180105317511668244098125091160017197685731968730822801470333689915794326341166504852856445712526635639985418658766083844145238382109364195641999756313348683174273668316126601449484327390012973232549124664039961973375101961069694181313770221166711780437001339859936976867426182985494434710883821733055752648328376219639988904874679061109352584671177949547634204279352962378576338847785721052807981938849823290850122366459839770991895387350396158406762886834119135643964931700708754819043745583569207846187601709514093314163765829390366691565112835878836092658394277654979653672586936287099406493837628619346863246614595736221537518819887585922819698972714738233892586738813551962671512801189182222882635192074482958205288438137594129930222811498256570393122551190444501661987525873602116236507773919926281378668979110768287340943046132598926851359761929785759559951335686441127726403310554118170131199264330764743827180358713252377755910562108441481949668285626919498842385882987007020305716264339220543913051800142418239377481781431104971790599979128364383888207149637419829758297058262761445657764109697561097309229639791905315629495362832518535540101218486068379621534182323191125523629879550987038408945248456702944588952992777226906556254586139211625140496542034047193610289036758383138922945317342318362423737747157120297493634920515339502413244754142617896155696244883032103302130869341435417956166758973844299405196150745909808553135029816203495817461918824419349304543844651992191365634492444671736194981162264552790878895334355926692729835202811188288683811594274353742875363323169634955681610506807602487758227183642193615980446080026215155446461455371578312580221080087852964182527892559159281465342231887338316129006516292561188979140820646469216061827364448033862652192490209208869467103435619806322107332815129501526352192896843570592361022328267322683189734172569990155684711581972169001506521395187060495071406276643149564176847194647087403841397503142507086958119234102455063537882027994447128664827802597298334109213056453141293362579102903919619734051539469394178447267389313832555505851031344810253714725026230218581207416326785485679218152502692762189287924193817604642888461544427759669576837553415914787118566184583774676720743664678113552995710112429622439080235477540567126625497392283218194934832653481305805278557632436946594145308723984141222525039985750029744264420387638869595655128853171881738130363545816731500693760653107063188675238358791560335833321467819123955898295599355717133840311932237751674739424490580775572516178243125229365117293382656883173062393920586518976451312371817429180257075408676573715048304725514408956828535766166573153851734890188178847428430036417319569444186213096591817515807821343943316651600699445760