55957444361476072147563961230352223115537598455908850844853354633925915768746382547698968676400301765639986717545456859486340617821153625541488814838205170955457449476172562577468427344711904740251654512925830062447907792037559216670577339396879140533014167464924441300444737445587085274375728547478884177670509111544345255659877576389785657409184254878427981295502496126799523197492152648938633153955926774887633096864808209737128689708276563955342391058415433150864902140737861664243139445552726794258911586103552989287512397851447204472494974114194197764571848929251333255778792435838883273377313317365220883478865944893218206140241118443095352315871697291999511783859609722869579546740514531349212695799583141161111937417494944097314634073650799675169486247375422136335457895540483812287472779739895269467153025202386299491907098240170433012181537034742316137874320828283924251339959922979578745617557952161579667309859483127492795279129617790493433029391781087263770712760522497144679304333324461706077328718790664841609541996279422477943749981524869228287951101376191580552001816940624618343674544898486360481849840936261314444785362254117467114232123953169716789380712993505725847813105297498098999878106018925772955748447273043788964563889039837181034081870408935715533558610122761364595494432167983766718304508181814079135814536093715655036651374942285552072927435189567527879472847268334908707184313465503906643502382631942107852141444785842981148866171195623433043828143877628048860681171674642347102037392525174865823564367648430135632331799461669450693409971188887557303452483220548587747015327808465554187057726611998771099457786212851717984983853506045629725244718136877517925489447834603315841930518938469714062043966432897747220089322801326438933120963932867834021540969491911347454558886395999093486384495873960399035288236414078361187829008695468885704298918877623909726238478940849625179148688753749720792266831262125426728636951553954170444978679995327628236757868572595870449645341304310635284155662658166047513515895380827410619551449117128447131662303287126478751105877356042752459394425521446612336528814339712813313810546979118765433077936559134819548937782318112169979116959859058244931720199079859262716279900308734501394383018387018985084844796513742062160555314998329527488865587629648321524143917014002286617185701654985778617551904474303936851259174711831212372057836559586721584718897984627000499679341724798203921877487117881995793485299330963532342095343112245579486731599759457187693611665370671243282150736148766435869337560463953656466649849883701632950994389204721011047224989775008718676286255126362055632659319118320215727489703458751923537804029101986922527356722818292415578639426710150319549512287184081824572818619953931862854277535711392394148012201685530340897756361120970438179312558797384400382757050160336981828715581714186727626611044640783297553889694582117464813294750661162604265247895167096936655430996371954315557177668662790295416609177426223558570372345552136893639441988337352270953311347079834575593518188403281668903430986899029336726575214397763140108436904499821841015760844650146633933394407760940243448480477752868338222559839969884581684728987695828905475555132358279255873755043495157413147541414035046500702422466797361813233174727420875438698977589587827548919192301970813700727782602846175397342445698493587878260465266092972278659249309688644189333143728554252813325554367362484607941998612178532206840950625659374109868139697165947854083599902682646771468112252243678608824287691350826444396048664313626146773784577938687349854325326934739523211685520058287283378631185836626266819730227202006447192049189137870973409935655585303933889625693576844686725468807888024953307034491163143357894771589874615396120990410769136517837477854305662975561553851603848425896382979518371123921666972722155891139234278922351705136913335745670360793192014438260948978795665557853271096133626562279319097768129379993838369825754493189071497347534289854773984671286123197804572601298391417346165047892948248869397630241092355732476620177528877704801641028383015228392905251567547392909949805781528272551692575657798139878294598854011278797486366631835651926791650270292382946704165725602223627655854227787042311911333745999593149114188047516311408186309439342830736891601737591838043890843158867348909774267919956627682247851011681315294283418165883760379885861382935488924656609817502527701669464180983073674825267852924119307892852293510196599082884094426727743790287923524552362044931870249279542934810927718693721881667327452858356346557255488192795754974632896942235696176845873451338619556331153619487146018458743765958165398983187776775992290985835248942366394034445675787393011095178445450248663518309639815509839300645971647139275247974651631688167804606610318486566680991515103907569662483718509853958722107275362076233791644298627645698863744332523931434114768125515495460979187632782823293027603879391973121284782718432325982483745458220591917052501967816900699734558554998987585198983911890203184779527443198232060776563553314612247279058014633177259345370977805890381374133668934811506947846718555109125720574660501785097518769594459486754707932382227545414563625317895363881120636533166261104915795579719777287697308983423649825958546134479255801491598068574022622353222717648165066549788527184931028333111950059547505847743392243600497767264776964441489293873418777045914052824289292673598518123248126795813822179969126951535744184751858076736333413244815242969661213824464384693080828631327221016508535706461927712714626708435893793419705560659981181551448221666682378785294776923792076451741392767787829144471749604326577194813886975429894902127359298138406775469951543691256021983438142024139592323214537312769528858972467385564866896525250083510196317735077535479274300