43061751972992548892431955136867243076927795705284591153258639361377091378346966009942833033784131286913996560605735308022518267137947619408119711338773791859796081707870823726044742010708198947455447104894623725552212532118539628098369339877917107230343209587854496273649998440541329884876831621809405155741143409620454367108146521654278876067253351712665954189149324380947647613927828678958301611657291612264317919268882866767522927885187675595554785697243320757926671003420319565982490913093130244225062893441422438718407328197463599066769708957523403523792178404591375072689183568547872816755822139246748898550372073679881171998438721971917215296164064187682613862271953440194876777293038601394201449298656540485151718832767937205101990430019504422751228129158927270627148708941633096885495068275491456850555748166670295236623429738286230313081480529567671807275311926173954687782270357695809096363173284694361719957562662284624776103789636176086633462263301510144862677573511855179920995163777063577467024895118677788465326797776186664285997919467053720746510508819704920694410295019189812363597517199496250881902533451892502452692919143702309679542398220019676021467297783712513466578239084225346356883744891973047759136587885459437437485481537708418269927689774108241274333905619246885977945335040153617119075532455434634403162149724166253430158301615317809740311374928109709889318489280926292299334227496728543387166457022924191469386317877036747874994528491025606796287846900602860903293268188615641636278112016958551555496576937092188135657163683560931253569619229622335055715159382338255172710636912799375460001066327696774497125723271963699608193066354592169985695514164212024515112693466613918665559557589133398985904628075816351035628927257111917246438515569568028818478855057336790817487432273150674809717622654165827134727813932182087550140070146476122666161071926696321061241464154388490682256795282284487872746784712722569733215864796777143260713764429580437576893811552569102174898128376278695494219257250874343718863245846534742999594194840241681048989422435233100384906204473270866232219973297249331534837986556315460154521436745521711685331990953784254582508811983461674219661291101135558327707326161112972020844792722373758562048079612478679787858973671264268824461247939679970732469306795546662825850244811781535297229588704970699655401886507911121913329333625613524738992575712992274895229278296159652170528048757858378249143069976076422080276775408836491228224320311180799661851269433127238904377973333696868064791303618355856558881082696695120160754338596919499412003386064876313151269286809171583478049506097765238441412253776563767229582573790224310625566098521354847862538853444927233681584495250667730142624652388313265519098589532662212364223695377224141123954089657410753736289233956810188985524754649079400245317942789108089379087999749997335700340374947329394181796370826656295614322368124344687743151087279279440133276627700107430611520111524375674922359318910718488216230711698350783664909083524608683196269123167485904326279418442883567742751586868185221489150528563659829655066331682333684897296733896948089773452504553765231409888430427136561958031735879632775381703640455552593917381497934966614296185985519566609238790754065024535404439029481949819017413718328227368448352737674834917981473383731497946069963733791526716449429157348878158473523230834465973594726299452194133197687660571345787566576444663803967080567068283020584582354134649859763834445926793871198027820068240122739303672124016997627425521812628575897741225886992616811666202642309224307855916230797247486309731449437241159986674456378955082604774736134094101468585204630590837951967160557826982446226908106108546912146782888395928657118819517359098854540112140628922257218264560280219663262682913564143922164862190515369385035235067992778114919751973894744347349089655105159775436009910832481037433410623669107482530249852534019215662333728784327748032104265591341052890210587724033332510255905548531383252334874574757424437981422676703694391366233185020802167754866518125481120756614554372251073186498318829415038088827810443356484293799098107221408626838762154022177516042371505361451159512844587346561726475293989272314668294656537635926412468923189988449418360267153596890937476757517514724827473157038319337936584493443637852629983390561452407529326914348507602132592289098635979178532042212224265838763213719653103701982387454824343354757830345134038648856688559081275419704880217480018911176474039072109532029827220595146156087690117535581828399127981256084746142284690053275175142017545199013146364680863782512300164906869307242284290932115022612983587517536606648856336397700794165461375912279749493598440551634414199946345334722399121362173596318682029635300892427864383208016662274270227419162497748202549580796207262765217747435843760201065450785545476558202892074265712344774627843147288853718838777938300406587788958708853251225976019884723868439653138358095461968938952516628124693628445525267630308619269041454128494186601167511283537861432658931539752446676116697814745449368194698883047513743059074680471724187332873524054667122236744712751041416567850918279715585801568295792846486205512510271475307842302693678827574389731000271221093490515979697812149922292482333682581784393338065603784479464647965856189253735567883224183379371353555109854160410681515840918791516569566366577109912317334198474976693300379657424129792097496467959885718210422818813972716808205417112425966271277057786354682433087076939495091094938585768901928472398846296615788692467821757044537621113553917353834603652646848335561678092499246127529488414556543747617985221515540120773153603451464787739973111348570637946906829685922602547821067481927383870246373091916558086164345493885375530828211510724589003708525068697807486572296877508540526149