49146241957954041198839137216408044887293216881296762829095419428095141044950782250249405985070103199694335198657926017467928911025306329306913191844179623757475676502526375711449930930742299279629192296654153253985714123129400549359402296331233562815921925491992263310949947169098029179154264853655497439286015385218510917583875398997118682366915984918464527830904965932328209727634104367650013511912496496448592618234812436265918619707125371567443151427096313192216120592183933750408757339220616960908369787540153237623244246886673358848405494269933958714335856999272193492203091415039627231514067446381358896896836244997485512716337061136721760559519922614122590265524355787906620225405411273376717765413134978358821687187346143458444053555470767936379078295461246173788911955363249159472130639159629894438684788565458048617886151670918989727747429214934992608796815686653398644703952531289415187329652579629166997403787324324257877012043437230670343927911474254631623976507398478936819798632913974653768595674865676800615049958365995013754187276241687442116012781877883853763697289226214764888114272561221298274162554500550182204778438727928551341202188557345368354364138357790377781302310806652981023646760695572686402769590582519725058595704955798822337236979115588109770951667304797877787535986160721923053648765098209782889459424565590433458512183514278990863908619131839916081518037992878767439921195710365561032581191815659152885823676224730832599072738230543558873549589827670113525984665073905484975476046722663195899290514974418614622298772574762860410026751988428224523448866349423443913868985994116116584463656596949813738857289291137134740956353417090600396738270230280454950524831044882130945433268602469547568023966423880793413886020657095481972141769701256921934738651644204362928427423640383743181819702426829955755771559334624614596336752043705667846727225669533982848175122243720413327657442201980488049807050747531783406547044094861778209084917351061322183742565037351097987566392272475462147914718738879519856378583243725620525742397335350793098441913660179366658234763159949694825742423353826543161280096683629687929441003361227745368206471726069209659919692521289764993181600162794277110890520951211655985792832168430549184668189263616128540832567461883321614962528094657032408090556417519182978866337253320363072048717457743512129118729280347131628336328161482459680165038397807476661956523693817311586414515379867663726813143297576683561165844436156746273541828724049246896233802882369186289771548568565025148349368843860279664866578226316533977797899703022944450565518444627436745865750540339177260821860372953338379876460823824506501830643318286538776136926480727861916077710797087989719353862809312103968660501361515250772341422549545304497118145859823861368254117291019134106942648157262177377108528838516735310014284413299497517796793083311753965167858436823392387365278257415317377666303165367421910283039445157573705579320359849394412597058697682133861754550579723973268450843941164778536886578036063164290723172601866528751667024934144835998557942829777393658469134430162184656319117894199851280041622848208373519046850890170791848842560936353286950984884309851384391411156667942194162632533251298038940254291736739578108634811755533493423928976996430165118610637754662151489994702632643852617277282759665429345121516687761886110558182047165211755246851612373869505503212766278375991880731944732171282804307856297474123201343327986272676349369384948863642237010841964888789172770191917617943080913186439834921586695910641053575447305899272525325151377019842996593626435345943662113730614762762524463931413496569810662597862379424201590664885713638598366863742447362292681474457034993432321168889995082157699474009640642359268385522818890428436669272442429194440861183862955199591541506524036228619948462215341246533625054899890149571008706166838380577688371259252317712269306329280295006436202314114260515176346966848994303060733413436817705031373332481337033695342533219972912482883297969893980267246457499852949359124527279891234907220813707461653492783513983968602192453268172491345989496494451683429462159623504153602328035666160538571066572962579873558591579424182385938575071522482441422774882456708092732738758868953527249269470555108328183955889812373357937471527161690859354087649141635511089778124769924603132119807416176774226769930041399479489901662537567305726339066421255148507983845883518790413343587196653185166443517138758582136678486168881238765891016184702892816987957500481826319708351783952466383258465105323730526649405185756761354945678381585188858803346920398969331978314076345837657420007391102674354457425919914252605408628316314191944458069519552933295584685877097870404703119125486748673928822594244897385365563273053631204813364678699409840355878763198279835923392660995893438876041781591682314647427333867639886484941694317430518562131607081927892610283479431887430279914422148697106869966394128725823331892177155397966716879485970656486412930585015873274516947751763276501216466194974562688962244354829749124755127393462657339788193359193859344061724857073436777274093683133618615199502452985645066340423442647980940577288625479446183374663794630474848814387461935491723415739190766734916109832134188333919565207048347627803992749068230544295766768947282537193373135729983763582636948462526185463823339601657862292827318662964199506673007932361798948315237558285975511484844224858838596845723762057259717980579813782582360234464485888954464659996148308614157778486707161803372358357077606665749042057290547655022210820678549495137129619747290067553301322732871699174631677793564617662468930615906623850453765624810285788918682283521092837194242904540197117935640713276697613757712223829280507775257001402913643896891700171202936813541115056693220621668181369677043117117