122639554729922672558776391705223329727536255256312228753139962011112535307654876602325611611602264614128584138268334591545190092356480436065366049290742532270477722659025270821878195292486069033196634380968321460259049427621561375869664670307274863722666905649010094766270130160577797572954622135688242756829992415012867520425434232780786807097668216151174338250196125428746694244652721070911679657837207231895026764507833353655710971298696836682245612987268370951794043789592548460710612839469778596597013645859897872767325375273317087326858863472866293418151702068115941067766191049400117994471893054613927569305502251574439142981557029366537069088598241317941759833355558286435939858912637817819431871738253737506650091893336796225897675186654054063188223434725742356860218135211568290553878193369509845963391851420243175194932532631763713946254545083021522948843379399453572575431651438567924822536039430175171048559967356271121575699624244133033762367890561815777258666763625895794228277989640640716674881354814754519945790135075675731381121283551459044669032944946247070119565751030309847942681271035955901112640048619224756335585248089542699470920593336553927401077436868531729338623336596519589088227366387860472030226747015582424399302767396224841096397464529857808427664558335931436680372400489988703053394058851051382523151871702487977866721682649838489003499715653606505347129998147233134467354147079119427240491135519634233673070168010797186471337351703904494962065081224773649683758482114125332349043042799694509914557573745957108744865615619129253266806355083561519670578414512869771449466596491029297171075728226051176205823290299723995822835235676495969179749919983231979866782791058998382781085913596712631684033515093759549562465166234368803639662305101070418899489169312744855621334532290915547295275102249839167168041942788563981919557870999568961175012242462742768710643692331348197714664491168021673191163079674239879554584954777485086489476763816303759603362930562368798597766338482871314222381342986377821998302572118372471353344684467676372644685739066174732359321188570704461529273175600551353664283176903517032328426617787613618752211637967085985473928056129054315787884430445412502744281664297989588590639913678984472548232186176384860487566906513074404383579883158464247497864337913111198527392891723895570157926135438188437022770376333222479914325084721303140821379111468998579119598407278290527516881798482751497740648517382937139612296478640999616614521494481217702448359891755461649199034507173708154108260546342166333747907876942731138701580862547415691775829813459370117531419886797344564969150411359382730257456117518182455415472192181322914649777558759775720981906911435473296599673289873646750996960193471943269294157863801821193004395231226102419488590168266649060483415978211112896008130143772165687626416861453403594281155892963076983898748835387301998486604926787922955987687424902273977724853300105771142182806745953870112149512166030894364948897167443271493196684508149027354191539485885872101940887274308530709481769577565487320796294637627572532127910495838634758310059625660391447771349760386729862401992035488549960543556287163564605536789218396173770526271619733546358681119411889403656563994364662967773442029256518599133123169203169186557144513679022555417377386264344711600871238308701955504486334145534284031952659618684314575180196697306421591649503673442825372192027571305390099725712620019209752540133616491331930672629580829488716519682615953090445832394885494677587770912620588602331057505315737656717598422954635597947740488691657927701968106581049607513634169330367530961611254816346140461790415654835516711223605421936960720447778228866194529669776960361852309769077677721981772713664688291769909147243914295953787289114292743330316348105397954136749661847436665249448862572876175219342792402918604310247771048561880177740967702289417653178008743091159638931290795466947291325863165977749563271926947158912393344509215792001143322513185813522185581413619379493506893927258517932253579306172463325322285253452595449351561699995520660093600187256161673172839436856964456266356102570213656076633015966885118323851350434512981976467360914914125964129325196833674238084142764091964822585760949183992618882515496824374305653703664248634277551867867217037891334325625153855331251309243998937523298458404996246322069382795158758419157913481027982210494649130122326731373552515849721614256786647491258696898865368819862797944933717873481213628129647567925484759497179151880577517463525793644850766038256688984946504397116989412573705874992629319898778728869950436307922600143696423207872370539546713709229868274158647351514264846982269597469224986994747290086205050666460145921617851607497298876050881710524343565765382444352344280116475592464278580652515403208168172747981030901838567891505417834186270137713459987237359375617515942733733579944157556091527984480076658065405335835574723113158305506816073146660188126682651556112928633792438516993677638487654105239538826611271642965128121423970975548414789994092179266974618445286553426886647695413650425591796914629710101120321547169553877055359944693492353839860974535718399754636577021551368051441734319914282826741562718574918512515394416678236307617950416512327807025094289705852127979065867548559324783742624093295975427865167768487122218568660118371705455554509299428946897154376044508681678581573763689506859635088948132636316181996123715962511467351742415713074692754947980929957696279983175913515769369919144948689233925621469849651053644927136788631878918389527835931704192639684798744825394067410639683453645363263361632528538944018520187591735319844474122525449952432581888528852468387928041993427858276793412247983919391888731996977743530613398045069982531561074413621871313338345523731771870619993986825847804160