83872947711562629035928976929114035778170341830927263379346245468964452510672252571160681156287163035065108962345808933544566447617826154815731166036817952745587464663277355287493965413873614427693446529485499704520698199048997186663563457545154214791940233748429294346887989339088233612888589219238218967798751817090607059967157773064250853886987537341862701407141729203955220739339053855994279599136901964494634805486349307321681664955673426279155833973051746454880375004147470335065829913370256283221820533311686386631574443012907572729439628679146025675903487477365131885787299641777956137419985375044765215982016266929172386119808998839743218324897622598628692666288756272761673521797622158213965645193281243293278599872852626488552977659114075425267626463904847444278142460732879765748445821888725919155084436644665967913535473590195082567598201177313223615723528367129954381386426958503143605015622068298287418180124126853845236505659384633184639372773409812319541332668303847298204629539828322569213844142851393327202411620219106841463390346100158760317867371629120272584550645096167981292223766354061143715276179212432304764405651283107618101796848918884092891933057247230895231129877420971631405392171408240877599176464826796312397833457525243452630097209843150673638840925115635461947914643849258811781582809541717540442999962711174340101886350460965346258834884743029753683282659828255244774741679370951271685830543711878813582897315194510635495885140296718204526243772786007655321668421142821099487697841061079314589045752676492756103413187841962580665391689195476322990869425546144154231943576540047192524662964019333372167331821397729095367037932336827451157523755937330287145914596987976275545658125950619839253496130744568168543499891926587088816581716121168244178657818464927104912317123561685471325359191296197060556603830223609568920819393595847362217744915920053266454120052264320774131808998429282059632313499060345796154240202957558215187115792648311834624130465162261379312021486859111448989472631271514563826016359358007223428810113368962596344109185568242440587185756904080130594289479587472691363172098282132652497399643714477435877479478872813455893973538321897450909548659086966680815319417830642399520247671296342355665539946630066149333836877094688498764844885891395812385764288077681721817983255584624573419578126593383537724635227617605640962935125131128261896874970446085387975452115064753735669271985134191040642152661695650850966939494773054818695399851268506360019140958732870647125897764472080953123353982029127867103830668712398948333126520287025364024979889329922483174493691007350863499407610255256287690224118373254993697951785757101488014198638084159044934171813378730719578369540746369796984752361840993124013053274497094111196144116127245327443824444309776921660548966498988813351486483348555632294547952809816703161002161258879851015842663578469508677614292827409128295078972314913403835460385393392281429338541907465691757179097960692659974936649665099960175111501964219322707173115465684718935689968854714741906376400510535713290694356040248069647802783191241432610956113663907153690014331945080085278536575243042516888929825617335682462653961138042995967435007036320774018110421955129401508955798727607457978537925920653412908139513077561199299882218792659426026416715685736826633166378017276959656546837697212773187313912538342932532461831571449905742139319709243779377433860999614888956115996833263435019428370987841904980233828723555247573709389499781299418517501262665633466998363489319514325884534244749702752711943725823159431629769664037034479676963037336419376386654680714065752433629449188421717692359748996421679925482389778789682619942190253504067335687655728763738734888622114066617446804246989625653350038810778884593164608710722329882608397887939487663634748118752773942236376230637657746220339583395880409195124491159482147087320896412096563016275385742255215664688794908782250353298822872313347346320206259221133844839398317091373126672715734036906094931077495212184372148086587172754495611242049386806415586817909727056594992112472796643947564587511306298156931187329984068808385634245885314095193783383946716752886969383968216601007494727847228176605781072541548570675849618959238999575037450652485719921699408868136774766478326129161461575396693685469004608651275179485950417513664271950139726956794918589714193820394679321338869135014234536126561273484929639401841449936044349962588436210093122699308312547128115218773085151795584345511799044880814291084255854491003693696347182191921951411708617023643441461853951075207279927303289187589492432221697927863597124078026820379946741322272728347338951761380846834287608894964315981849898314705693931088249122148549643910142673232021465056903883417880452346698838668574284625623594095357363312071187563217554004362665726127887139094798541272437846625938116425937045314422673857313736209026187467484664858507866738699601118818476570742418734920621835557383751653946881610841687137423143551414167087239126968158781476734156863267441504568983633854797282871543534875102843390331723328349566087686248098688995464063718669312624638537160862390402732070878080703361469964671820551383904365225457026773384777923448696633487754578682918780647769139608965445385046686319525689290154866664190475338823856330370642255748688344614907237582773955264448999679380816952141839912694185960448764331643038088055660417039695774339494667749665760935616170943031518702127798359596914281485201562235885732828724013659180244525510213365631069723735245611785521396615462119870624887508774567544772921746473203586754581284525628870188789764852424862271270254761553447611327982267968883987174473958851759953371357619345007368382813700208745416187332026274506608720847425564660137524765121662179052638173881411417978964678568290674091324930475718799102095234579396141