39369411772017984566628168449977483796118578499245542541187450450028428711711481369295455668639401638502761588390607446253265016561604968703485201034467572984474637105026481905563165948490879275671328396284164702583633862524247681791276494721994475773800209372895639663431552216823323387349710802190357228236187731127601315718211523823866361084852301857311254845426749601624182664075652544135597866822528093343051122250843563749350450434122939619042763711285147071284164897315476484921257609944318211533349213766048890922512321248406320970351674358283189746439611450683510566093579218397815342717431363273369477904359085937210131248146673517093151446891976268080493443569426966708453888289300510996303035807447111148873163866229513150406317452959357746827412134757525435138644247839948824686748751398818622313066950342755879478279772617317648268808414353319133284668587194743314211694985234845539059378965967981913958973427818882841843081221363302886966139736323521826747610993846964952863510897256290084232404434659122119235460551311662459908941477595494414233782634931436059350597636727487412705083035235790149651349901870087474965062363462970080905604216388512141689450115436575819592366439126429359108704943188513552748287679726341845048724795320067415725497637015818581531788840806194307302657452759174774863583765971352966755218228088579622398076563162150248116365984238020947547725732509122367138327680710922048915457189029734638376288398178294143396586251411871408438462038264299372453827681227204540512902978248271956846912926998393720464596996862433311232214345106837151605807588429253393520767936171906480996352967402589783692333983290701036216482778818645797652287197730020144030392932661135386389904192854081927504240856907882363412831137386888599164120942178819695313376336665817743478539325270476688131510421807556237529973160856743218434765390794150593951923881375673724624291436655867719750512049662449106686761970262059388501760061111976907623807135551895831180901827412893965935898627357341063981106734920707066671975423781932422432023759618642754012463518466196485746372615215634921969476816345902096201352295441484577913571958517317753916478621103291664625702525953763662767196029104820774821901716509348564698169284690599511445590971833844417984366401865882534083725164216031674964146602102590453131129377553229226399808312435765536808838354635175299751488263747135343046763395742880599983186330185777492340303377886192707427371386498841529984539943350362276165824183432217332853493482480099012385224628977498677771473226567255201492367656527405008770999725533137263721235591506376827613760865406638522564040837945754429286671828850368031544025515647909243695181810373834109043906366501738488452903175772246355437009286039003819494682438238922357072897614440340231043957147324091366048616835804674182265523880592255881346078402086497460988926532588297746335532646392392115382491465871339670417902642519656243847722745422434191576795607912281403546932649744483751436169139288275262098579943836528124456785105908980581359741931639717297647236307212307995710045618429586072707178847749518187968418444112827312744919464199700816162153551366171250264533936020782907871670086324407712393505800302369036787842228875234322349604699055905929888452378930954774170635781662479337648443388274691093215480234229730425898025743784336826096927841169982255726063235058156608249812105574479847913351141183411349391318616704270769608430934263185952115390773879826162003435919776378574326419605074903657351558638678691108822115336183009391932218283702649795415170458202136592487359546448549990937198515782158571298160489132580455693087425777725511309592535638690116226149935271250817272787415746369288251673515554947583762482517203067632680212414026235094269478110897987265184831721266395961348707798310290673956990169867197490433704476662545132474954162550456574734911891929763057876079183969406766575458604497592039941857735558500537683688702484262507217466014779393947972573190165853654720432389436124977308887871224672787860316042442666785388347208549921872219913899259373738859015363588553142983724721264946590074432446252755395901762822422564664024596876906537186615375769898677905999104377351653334083575430860321136275386206465325213539456206858447611395846843784482249137743086865890675454501654150217301550823936535365243633950686040407925338466448019383552477582692110712120202272695795465262952211446907101664058774274318433015943280953034132675751788826573476744391066664654484818289925659832492177086455899658460613242434215698539454768957464398730828676506755756729689021887820089679184372543485515392409368378662698435503992535532860482279215887286964437495886475372627103433164629059144465861324366865644521280781855871038473361583076394117845282893516671544803096562621067123957568203444298951290581725337940885168691944360806979536261522317942829788292606363181403826683437689212767743141696188078654419882782498959489509415961573910375981005623719455092711551574047209511240235572986576477467453557154898120791149906332130385891318256816534783159940931165471048192412310590888244382281252065980467763253524723769047392702586820981239128234569747022792638035729812220798123341073532735637292247723721332245861277698805839089147112503586829639691460441219939347327771778694720798117304937598256730193772447108045024171196775469982314324125697106567461316605593357684671727223566189843157456473910414967354160821465977419660061322807251346453326227079942710673944714109342229517904970291272056549592177370758629285380450287380684343940361447736365164151246372324570242852621752062242367093932802356166973865901534777240387427952346193627747784532201584519375823856902258311983394311404952168557607524154602101623432375401842188498792499707789956090496611702374609588942304026685450481438293012743875661189875770990