121678899493934414784146695866541670559470518641592859313994629580244996242122895226941265511156825414894025482732661705854944485996480115523213295677912757620506785837297156208638198323967819587757711363052905490899165893492694353669361658663849995680597649303567773436965447747907358759531638347662474084519740984052486168639410452448252812389223787307972831074402329345518377541083567463629206660452693835445345002242816918478208672978334142133616244672373332154598094775532677029656510313617412508381713437705572475404619569035575253390650763148960922284799042365659565384147230287222566978578344126176044326395825701273423032426637127632756324973443082577808537368235052378522338288619693765663329937541172075739765319835472908314574437026878777921516161298117945825269324435543671786776809490739407726980462880315726601452724417302317073957841310630206269695966899033830320604759683081951827253213827029727384891793775914194911976599473324716095338253269248096973481649227085442917886689862478624077810565663535085871889892139397421726597863296680377268488386499497637672257847070143173324388456844503392192714848996956589129413014002346453763455986329388571029735657768043603379796044607496959262636449322748230686828989804074153233504422685557358530768384192255847308233470626194247255434188246861974868911099604717348381440115534965262766544970295346474715020687733349281875737469056803948787623479735470834667168944088169544739085926445142136928925611585631455810674545982109707494348933342577176384278983025029477243123604914629706741923180772971729243684623953273296873279131738657149363236578393094981332933547763379256703565871078359464190101556123804487644050699539502521749263683219793257590569509263235155627280971598444617429690424077347916564902269757294885740193609475946710643383231816098629185136687021675254775605233570541851393310555273522762147621078284565449984848168632866791141378697188523330503291348033162992932795647797411516850536368541287672854967267337377725812312281186424789662238226901997821068248981840306766773011283594190616317686825147066025170203980431738843762421969553702684848172765888344073514604860658909443625825888683724946950529061401523278138523576796967934159642190352579472343389661359418147248104059392078572291665696994834453459494549272226525658129977231409627316611288316627823033891797407553744323182383244529177999028719746842659752558632773627239417236516836853815724950313335624537752528368831717042311563382357027332835799006900096087983595071306315617475994173954854333398219954165076907218611857219174960214249987422559849679321849083435866319131154650067948193670912817531577983917608182942497922771021366406808685195368252361264924557528986472539395591362713711566394348174580119751842408227544931663782957990836247138531930905789057359795978712207714251106863941827632808166376448544810386047770493150417994187632473020326183776695569667789725916422128146137381583468042868800163487516554218055501456552750371715210839726803915490134707310853228429864816222409895596387027265052828667214784954872218252251286958584456893753385732863716411579465515535672799905212643693136021138473225024477717789718269650918932623406551851031788696877647713113980845917362553244612258958090438141664316225212970111442206898630851093498552720989873712889324391288951428882985165637505916571458633557441433867096998371616612509624264688838819576908559413858092568486032005339124071752846947154812182765620416895651079991474190785512291290254279536197746242373338845908454319161919112984939086988835829477247237750765134377128869816520491557392764901064597662879895934503387438827285600120359467938337043336291522974694936217320436024638156254734898638620708822878294013156901148661685665269669143166495958429592317775532206636483494172528266165075993632917606251144228347946976693119158629455206812287532540952091656166464916242230289534118527941942231098685846154796781183202887055356453638554185740218640704555672619895663638752742361993473763504136079679387131835998579146656308274285297829911306661698833459119551076342333107202955728086992017676199148774742833324800928475506756830840429136844457110267423747694563871149347677203298068988899282812180474922828391872641026490192982710287157575717426997279916136561591669576495594218494339964231341952826766236316750555947634955724954456270884066623885609946303364699866187874178318137320724265326547327506330058087272635554445644582890848243165780436039583657046921913935629119224165331202565653936231179204869932173825413409508562216086474662776836119969353446079108847414053793271996824831232679357236679741990456186455576800357055988425151628319381125467459458220346163419892999912262604165357725323789317144796552394728082842278737393659118404884864398724389644531997339118494860989793721174463046549112114291191779554199120714333411697487328369321098486662215127266992198458444049481578578161314745964158303345310155484349159532969905750591521309497739888218238025046214147862414831564125421347498354627839357943789244586639224641202475530602517134562473591181777089334681149085396512464765551419085134373658799975514447427028010683119321598228595277885395492598808302345224773700614030320399377900080758021880674079675902860260641973078580280751219187239696593329071346199631972552368213883476908996489932425956291125435538607954262090167382327187819546561477270161445934565130806491407676141339053984221243429611426623502198371874442494159533834335199097460116060548372508079087149167710845091197882207287069791236707317746106524270717929663429396642219816280884222802392688699895263424199763341482339303380406737969243481502916672206462356477615112761512588637368641774784127872570002431675178368342523941299544536498578704626280629144357962139831888172667425689487593669188127672377440455969595689647760225363741783140319094145