42489585427431165596824942059002318993674184224453595231084730212672579674176527833278118318674831952529232428317688839083380707483414158862989287453884459495602380059722756943656236560283790558709182373773876981555989423750192676965850541874241597425136996663388565903798679162331132235062514249882612314593772466239307182257231630170796081582174796083253674281613784569395984392724627175492495217414202704053267181858183121126951422947602662741751491213964180848667868231879874242209646064394158382309940910130857764633579741936497245995481932882824925258205236145166834783793963389451082436557769780409672735869418729890059257049843725127890477323767289164478616848776876412042898907833718825984078957298557341619777438139957255743063288803684629214219667116338905424470994485524892919261589164770480992118289825414652069556615082819945283912338087960911964488348948219419561044383028282023140673277626848866237922077883459932199693356332156186160571696161405700242543482493994095499047494165902161187988223678220453291455693334892890904054964551446516298035985601388089661673834576466415760482565735691468697163574702962855926374270242199915302237705522728453034044081295072003464736943823825019391171217371913464884510629738848712608555371265665721519263392257168981134342967186581992206056115622277017811695736586473347241546584601658241318261527560998964931127860644065799726348587703756475329849150587086906144448110385699611254416112116710236297558694224137557549134031806998459088620853720913184545170624366438586057705326244094318583044876045700644122049291071524641708848892473755928702204609988838709045163052925869206173520819895694619449180594736362639253409096748195245741990443831475228782535623612072045753768652889860163225708243421382906670199881183252999912677907424135219561397994287728986577784623599390520323484289890985655492366764227778197721363083665610618160267487686762666559353309612720585196616985639415198651516119315594375299337982965526438741552305765839882452143797792151395087337226844363937938578527813711757598296251465337807206576082870117822779839602323641621883654558235754947358165369779397284988417332357332929459796926880394595213013621642134363303109589292849525338169196169449766020334388118063657525511533461324502668749476872259234977514680156191843273679355683342835547513394565564890295321439887184077344888501938174444435315663573461626132604782261955622310084382294795524946242028876170598804137848542252142519585941911174498412768997246073531023621649948307297773306157510476218108810560506861663263268676355049653518457212777957833720677257823735632219986480910257669284452273578786713897926901291578861881479585030860851818994813246569592769928567363577355242742336209413844005574680278452437809262136322159144660213296513356944041578962969952277106223739868789932517002762828059622763418981536587517913129824319943053448523248514132941550774222106399672735146960379148623399109907882340382375703055802521188832466607383660474487357949587283290284563652355843638215452427426249127527398880629870216731257695421341231164767259551835045796208902680057541258653045138050293684184931980390434580219960397935635191476222568474978338641948132102380243672657432188045499258841765345531462323358065527721456455488325725603257710273618498364050689677100179976312523274678011377136042953416657289767015922843799799144382223195559101476661645995212865505919672194659760043196508341674247293996762215477082807662621854372266023454300598366197806457365469266086268215139954107864701547915087868529957872716527673115445267256332290893834415502100545963518187040477607739966812294535910091545312959665203738016654565274655192006632344983367620526488878996186273619313670883529467023327102736591979708591841850075164525792311514869984279067317278617777363595816321740422488858526460265869715865339291229316237611483888789588481835805341520649253818322132583827944523859048703289868207646762218078513275158739090917398837138153724042040225978226876353473669477648745572527635055063378940324193312182216625647498627612521475270561536531846428679082861759043824425965392615232830965737845310818963480161173240959562724830981814074972292258924575863188211548979087812310380722442169702110557726753303543028155919861861647571400498815029886455998717381260593868603328428880949740039291402073221863349462252603786126153480953561232871466817506195173427893675282360595921104646484148121672982477458672665449644630789568200154481286934729691195915160489978648464113180594115179608580768984479738170417950827397734353551425786516462892540914246305386969984601425735099305935719728284643056858164865994375273562867200490848798903229657676538379779733605226238783620615665219917960860576694233135743202786085098655961028317997393904219927808441882672432596777326721850773496715002266998875175965454682937047596142903079322728603971995557756192236147114520922177079101865193813075991917060765686638235066071249289482635924894245680200288393682276310792895732374838617894237444375579339674570599602677608310369354124574773746581328726041940676188954817945332012788843494292790790381043377859858713372510879625395320214445363937125807614785713224479154167549304347859534367476330688383358347791918594752023092202767985917605248705011447041877943819267231774623283533517885899778118181722444927444554988646939616005669608863169982776998893773684558206210412898684537431547401579436274253705245448623990649070344086210116583794940343357621491190273299339349635736983971084879898980779427640368080547471298924196926353384483219373854529991433856498976861588326906663329913595512041346614890776127471914413432019604632538664754012115022279051403392701892168721863634973670791659669876816948809794360445565209103424279612369897805825458630523224985943793263695808462296979523908855141616237453754847303973097974503398752960521829