435456961183841914034015423730156242701842572662301656421058892203196216968683889148262269066571835639971921318349428980870797147228582403878523365637531962780607469559110808697157723047659882813551591406989654241512657289788194948398361129653710762137038102200540657621317294548751691073897776073847277042889334244736902551763209649467541169283618433876267823967315928410517745564952700219331244962731226775780584934777989022695456991470770792411191348131084552875022784143608268537335324618177478192856790655959807307668306825945281411144589575138173546048313233089106198626962658188936621185344258869292006411879367288207678993171509054300357999481216246989273150123049975069464385818969258898751466469059498659916121747378566237354417997671253987117822189973210538917718563693529374485339891450257585287875573487985961804622698110146141450671708158829036508694933835457202123382305957506775675609240387651237659146463695505265146154149540612429157164988868402215447220961780548592806101996585092276222229170304106386975874579577063833466911666105866948583074791968982510788695142449996904582769018784514597179665872729676859723548160089338666118982094826144367262343492839692409487577163349739299059476427791507294286043473113835004475264623163670940745971718889551793160390299061236752108075399680264126245772327102992241339147891530162779386219442028541769454724251327873766786694240267938413574088379581838118693913220339108087884053797662855078354706936613065835529385140932525138168732551520424010137234264516556419922645899320355585370477623316328692922840930874748817510873282041294372613823825733327966305783588215029169111581014026312305566615668417650909119933831985578781985418967136853174967213058433369923395077173874482319235323367438248473463824615521272134930728675541722296239677356983808024901475693768765034954700548591329249173743079266055109439473489053772822322966089798357287866600823349129962685793386715106579640253123765866299502993951367754343374538445026938708861845620924935446653047228707598058855938250922577581841772730365835529390290988073935190582766412615139719766719828796480749882962270548681988859110892877865746315599701509879351494383754338535435085444416459218115679923826792545690922152670695447549217353425470609681111267643142049975486693092143947277291504012439514539542576666523432714054553957431148398252921238373381582266399074914450417029120223423471336571689403241991223804888696121403375690062928038257252486081630453153045619812258789939977593638937110272694409098112028799214287719169311448821091368017239794378931169257966520576544891393567661101519292128679812424593692490464492523581584303421309180921854175367616311490997133075111616123859523499453187102243043345824071283470937824116054906389112245206248125284343756899739623183628147235115031706441995184626481069861705510926475664513788219009772164504308085571968236911886303120464431673709732515490464961338848747245389318426387287862977116442023006511888171269826585324604293983362635066548718755463140553428274289883759549096402120796626205599737981761140378625902724133926114924036955556788828308516388642436040817728628979592135125050779325478013259164442055516758947129103591156607323892665899721112810231147550208490988167559235261908608275345471318642866784204701057168335583296863537350293914874558670217904916525374974114132038843219649796480125363979070885857163025547746161839207079748452951991314145569447730518615332218395077861437232433339905477681466403418977513017734422286345581315052637288377548271841540979990022439414494302368714715685075627765292783265624384196019631539967330744733943692903333699594283728447343671285113297956836312747123117056110532977427082786237179839996568435298797765613246725143426311571173453806770805630810045244066170475544695499370543097282374007379152543236137531473457547686405412720711745433615433592796045086426473658621475926852112901599543824214083542373975127847727551044461930368522545823063890223966417293622886117378194744679404705637728910932556320848403852920789372145264426130536127327252633573316771633434773553739203983312249339817103120384269818851652818908636866911505393220330855106008515626377242434550465825667279852528425861886386384774992333026143206860764414831524408642844260207527473628599334174322182565547428738495829638401191549245198134113912882243536224681128236688595225507932243171906187531612501131481441401115855546657884415709410218222864122944410957545964043738549704269750836059828614109716666029236263697536188341309569564738295728704454055811788534413305099437547707809986514474859710311676056720449586250102371704910382076388252668103325665272277238879812735465097493559103888786090344288190866868081268923715845580425087553764335823340362620914300100573976161524330557141526895473583154659698629342039823335254620382212842795332624572311473537990659347123111767122968719531048578922518314871451051398094479066467093629276269103578915151086619632389291011220794725532909633787715701719232689124351547473462778947466819930224764666964165539262047662793656479636693116513613555182353755591251746628669604339244331742287261165242112460969976414051742243721570311886332151248947145891508959951984970788881898135518261702046775015474166991810461443002982344810899032777754988966547887199749029374250487065584633990333862087945553499436318294309961944163686251379317044584218688624511689373210951407702648684161390512889913955999451563409819254672282629729728206128883214644653146192707359147775468058712721720681923553910765802195659521378924286678928058123832147467838359687869712154892929723443756998832470125371758637082130807288752987191150162400947961497930211558828148581915225203995601739185908913164629561866246472920434710183212812692314718845945673559749028548359631441271860127997316239843992821035817