345567402538804912402446336681695717606026172470580568848588468317472227436743876915672540510857334416198776227079212237718022845428212013333528062428402531043903479560076503284449025091088490234245007054437799545796302765719121533326172246866178295722375282808255340639476621609960924535091804724561464328942969522922796242915685178020452999583562311150720830024262167383719424685028763448818234891848223541299248766816448708214243542578052845439220326085821666900933720761949152674932462919865445794632382619890348157825459741856102909569628980585552646890476712872479637843555943305778885135787183274241437678178938826010187999972589535990359558547891973011279148739807800111768959423735953272039883350215578462130331505409528849934302607143375716258962316315377739945904825492134532256046528367250375265066661163443287517845964840172269126034258896939332239826924455454445390997421613224386790665368328450218534517590397019088746568495462209595159107607070195436284296957102497343314440440297167367440555215863487828689726106220839637234135261253855671379024780619222648899987363536945286871103387191772060294831238731985776567322293986407808744371313154679456211592568045297707223089089336927344173472094224318520997516978860145851131521380637648757725444642113101685503316770333912010176841331779991178759724398149256666261359394667328644998410048407588640255747005211543555654146189999110936806056241723603478660786275590917524795110593654797950999069194286161940682146291068226542654913946361945184883226746543511399081242656924524688884137093962481432465209930537436139567942354609880112317173594347664792482588615831617614754986414505935096474004980831316600564332551696615372875954335859735666576450738114616199376709346105152619212879227929745928396905751795464182720974118989906294701907380899684904078024675075415183063288120682712834398451448414313861467486290767181679159668948026702475413763088320272322944326260877016779685349009559485350213218402190876717869678343566333497436893026654072230211809618590663701650386433187242591519401496479273859346446244308519190069538395997013208787704959585281543431307537624075668183257437737271796162011705435206566255226548754909866390172713841339522262286986945030577823648038794583910526756870284251099343319132264425424150350101265163740497251370114706451788656296477612803928513355867436573249403271218506166552085087508610529184383208240652138241197791392829719462919292615683511924011501291971065286534645065484836342369829597729634623214964229429465026338479750998441719626221743575711992533884953406772343957959915836045668335964328891984661645330916561932700713883293918512243096591236017077730414179323683221249474002164587936730997849209316402641042588137375435116289560572853320941643545978369712104347853692102670441683872380244276751987400629894425654615089683571869099209407158411917783450061357595233650791586685689794691292811976224533261516206294511099459768738494921385862268689932384286359896481642149644516301440376582569829233059278597520948712060472320466626561423261887153529974689459362708777609185575764986211183539990961840834275277691559323199912345460494943618875981796219694142460610741615644420581896866357784064471669284750807414514699535819675882866547514676747519466996886625427911832113241848130054466522838936918537887534691553051209159895907376297505561012063244284775386204805918320419061173193039374698613030028087929205348576311230318929609483412161342264120768024949511602156543222693686198159697487841644459131935897072628948948827288487523787388972937572171590404292588362124302193777669154690948595562349477398546945822543309180039891155888285991146079853333248565281718676407313817555264273915252947957408506184331745445064574891223732132895636237160943231149787367336049816254198018193266899391466173388501892296937395851139096308153217202283492969985269621938966563975569508170749347873944771598671953923058765796395893116840276600554628262576712445933302806298276437817284592597827964418616291269377189224277350331933529741520719103672521196511504406493072209659889436119913612176958041428251089119905516411942792521177743675192734182592442876334892755534978441563998288955214476116416274410216087916104160532981053615677857203423084333773366081391818477828968699117455866013950557377641153512130765240871882735664566278813383548576193532676448289135473480574166776493384738264604582582543140919929703457864166421071081234936858846049201194215999550290223965403914670536749458671439988764395601170331344293554425645658363017344657503106261966889262685305482755420308263318112256674199377497969568246597592507792453054283158477688275796650155494064225395865221463439055735788922418908612538778352891852632015334399615525745353278698008254396173462040191057883878783914227547242464495747416750043150331479175425104604894837471998935606466758318468931513910441842857467175214691789710676988949639878901531156890212907580827454168546259318149413389841530620032177130620161068663328753361955595521335012236442057159342426475888767101489996960616885491475683109233979012468478783695747463625902033142459153322481482224340564352059731555563429839393613715895038828799558320600274748488482538922524571846466461350071377593026123960451171249803748829728252383760038917908552826993122091329179843801905273016996957100453525241767654224235931767247009624945572944341934721138641166337401129831256264156366031719262135764310947719621856293763549833334401020797483947636782358425465947569957358141252537420744248576080126014856359379223837872646503961104596553652480149466115794444603022530086961703309989641337759435528331444485152276807066133414736974445600217215004131469997951996187798385989245634187667502822284231698835872041155313876256245503322944969729633933818418561166031204444146922553782432534663372067917529487398869382562309605434532597443