148167939347439359291535963357931719975469640868724782607238456639970419859259772069521089802846439380698982969249140368058902160600887217032779133010906920428398053033154520441054292846717832277562292834758445562553552746680376918445273377217682942878717523639438743286562993189982085288513552873128585610192126179899289327787127033519199366590253830681285023305192958204605736758683386732494188478252167335122036100299707454251563475252162118413157690557518815482255886505597333808861611529952196187044363770987311202963601565524569903780716001605213243389562972118648878371515407687909814014944476095109635314212975735461987728934183706204491191241205941232014963886532324188929228052296365269655525284801890819971811519338818768650290398006590200698343081187299358357897022406587287765787493973617482784458323757857296870421004691654047914874396021621774407793855070187771097980727380641262441369349181358494659175545289321141512390748448426533585323833298352831572230717708792668722323325601499574356234563187249627104364485038947487741619362475215636674965745075258150543017362754762846893269691939455481029237063136339771229883605344148031704196234028331384549543962635498639124321911332457750981580396626914349265404399173968195238776055985111964983796767604105030001285444747993761180854639945726693332868754463560745959547375114629401496814234729279193464237209958091870605860965899810326852449840333857354729539291744657054238200112736174587480825571946675809303267297924449120333196972895888215250065458652738552396956775074538104426674096051507837151866049222409582279834040865146173196532100168692677337676950698066499710547305704297379747269450536526669496893958153697980934516290897089358577687248754968897492295867540631083154552616355525592932982832462568525933732562665368915055523513139684186499642923858489948261985924454626966042499732345711184256331181817728551388620584416534184318514161869518673642554550497420490342785710174774973046106742977214781731269347345899332231630430778499728693669066252812432270819403419714841491793745817491132931938912234707381741556144470956302244435852764642528193698108828353715974386886031117766926919107778523748894658060791735599910101980668832613385804543947133512765326764233697406897392381226570193613523395081891604790831515127667476038306255556376326741581967893537046143042247228377954912651289975003721525877879881893836694370465436831985325860374929215797966994207941178375555234179467901643812215109276531576975175267161384372453607418104369776457741455977209508595811544512266623079796963175544258147046251365747563675486679651997986749047624988968374507450624264825856993176311967697335180086867481979415099173256699639868181860332934451065943709856418607723257562144435152671471707802701132759277717466868563065555636293527180260720899675424629613504681531236769048191493428405688248514633625458885893595609699572092302187682198259820306825843641271029540119227846901381775422762198913071148522634857668066633367255621671520321570438366410421099672169025963095055465388864081241959105353609513690539205782179755299302986533129915784111444997226102419436554034996545219968685265495854767136438623639066191911878906250945968212113201130089720692680726009829393840059865827502585573745304036588858971211047429151438137594336305908117095271163690663723322907470976650919927665482273155183044024367282328335496611518096086517189829883692423918370689451485378582393312831536925019005333728418054648307397294475978931789481811875806445353580731642844679536862265271429433414958326372861662229197930703058294035726270137738472198384667243410282961892068229644004676428892679656359725844373597455942518171662001180410701298856528113962772189239278924467859728634172657863321467268894418327431258908342662744523887863083989397710691246083700770729763126688192355028113943472891118818983811627588743436853645409326085968416879868025462385378689366945942610219278266929487844677247751757989318451208926552478997602047142826897767745517650240653031264194598254246782643279777896140943264686171772016306811993768406414238728831688927214901901655211267524445777794406775557778086441570199624225479581149623838758907629028778545538061567527527111125875140515114532528483519652264817590530667795789358281089332472631657548225149058222913339978050728719639572192419333059218910061363292566353813302952718954065279794551513384660579465998432358130932969394259713564485716625162401758994023530876282611030144263149989148034646190704106789786672544735855202840408167102362738544133966620741353747471360692866312632354535401652277694382686266727544093139706233998289219843662658541522093419842042748248039729279685458791965487983277348973376726653615476292967478287931869823070360701665262407213753365772142439918297145484273821475393391669486311039842917827479507059218868167169108610573174637858967016882649065621512936624945690573734696817844046377212332733605023675209795917779764122744620968438195179139891855766952263519331603912495968365533942530762376212000811597314920942582946961914647363739163541679172699568481448768661945585756462682877383669966212363491843949656814447398648434184274927498122441232143829473445925847139372254855211016435487297094884433386078715995025751672078273639493462751935993413427032264691266171357433793240299774199196439465466520115932772214739674426416505213805441389081117942367831031603839565864249185340811317540485941699355762571465986553231677412576927474714417729159227455230596433531830945247196747381005416544839139885186670641293844713997907511552524998143632848399281453733139291183111534026705131910378345660937552037538492996969984669198558102452896931965172380742691377617357308118921185369157393394678137549388941968284531539371291594375734510973588754544404378884462725728507965711461258280841096353286976236469642938