346362902182747081426958465141579968978294975541252781993395942826580930546267805751358517426779649018182754537918779970107854434494569672638738588304467367514029730559361787950943246810960139614505620903489969073781390550211419328127497191514645318328810416039215368549184477878460622011878302499416181939313813324687511329171474393081681559618434867333655069237564330958916742769654418564796192764234456952736363290289040358417832942175903247630524791171577624739306691795395583463937222896258796565468293912458111911085218318790069018710932944214520468764441290572888842463896737909542845906849689648669163159712253856832181921294052899761782298153132239685294452950046686149685239119641992799162442234378410518805651676924825217439113881526723695966221903377252202477428933591515127110072883872545048209362492816014200480728442540896298737511109451061701147183822050718498639710519082691843345462988031809858285302847824684683555334364469714793343124683935544325226026313559420549982854398762398101643891000127342066127369096439168734292137649319149497435205781344301322938878016604290644020888226516444854419218914064655023675764559022339426150715686911141472815427428099893340635759772175486647592868633777957758952117255276432783348632808489870477718444806915137257184557815306196827499217537404691664525452190921933561636075404903956760159217091782424759707711405352264905707646812778965855870815018953595440071278435781236125729848772394703399312228747338293895769134591266727049232471384812073113110904861425975493631464728159862234029102671287791960901405809170713961211754422104116462595294854476494060823695679775826968303572771969112137112912516567691492145571721624819409913811778582006106622749455400173398725525306636693171239313124306728052401808259885981168478472041514941968731292927142049883184730409936282814970936467244900831208732466095383456754729969909359628855642735877673495688612577281275279982249252975647825075857283478032801842495061809222370209447756847899996911552465731519230613725397108119353072800732956089950010771593734661701238516721176618204546067211193766160573710455870938560321115721858778291474712469102128725912310642735321619451360687369454709344358803365391471329766382419522493306981465557203170176757072705277165051906580222153879284403456481471679415331937076987769579949292176199396133371173291870941266652178715191436314406565385938715418687293601241965767177414684276906526876347913162819597386717281074830145218015605765908729318811695750123771937859239480304306205999147185227607877125402584445114579255201337662674897520353361392543940897162638798330404819499662216199566419435107771793582813283933594180366673547498355023227359819517741944377850950590799656188639132496825468358622933552629312039766983453893708934968151629211897913131293103413803475616683422048941931680765878243184425513342550290211466699912036245403388823208512750261058776433518306244243676245092930419855321039202471243817742457911269576175902399996924686037323490865754700822768458199148142024187986474765933607072179594983612724230768685353334515383318217582097474056668675879187105992529945603896535500635033132758929251423081526797259165611430658124909884565543888839160005260780827729979686439956933431798317326449750468523045666056011008939684552111236719409709180238402378986674712217480332848843866144527116192679497918394688881277007296615501216744642168012805168171192418228833027067991346948906102810668916815862726735930924077909268689715041753528600812568112568635298075997959456898069108585443694246581136049577102431317543802630536152382813515217089609479283351966137647155667790171346128248913333546266530605542701512649891822367817727193967604328170756652589971572090887276894274758280819940695197294304691057512212553924792892677501184529725952888188396482410387477685942591076377853278113441359853832550329668594473553022081006765644751626795835762284384582129166937828575914421225392871121377354451879069453128001759924891763298359889399447104047077167359445628769399767897722915178183898557635468961849786707710797525525103111627514707997454461929037769079215445396411321164736767959646695280633733366445903551910851888547456784963874679904591534490902466584301878865651459509723261385027817661836177773361862071937251428629769279213283626365360985554907471304339629564324050281943248949639941518862387159047632205279359435450176502669960322868348401279705966424697944199203413304696262755748922995927536104358814702965326682819351970315658542348919761639487214902633058709491767465031472896472493869726599870631944345031901543966493864929633912655329851587543917577464565726448868935455644743483772746816117947203573091226613714453194944360032449809136755214192224982994657432224315477194093514958320010650582016753460201667779966645665873431587603592652932909226547258649638616180605852227130442131445329321643103305892198811492067469771649909169856379412873686827868742569542658276396512551989513993457610352926674631288606092508637681662980066355215551681076816514217969824429278543585886434605469911913981884104821862128781529341772643968228123448729983276721840463221894229828476324827459837561397520195202814348361393420415411146241106726973371591286672296719699205482662157761565929272464577779444272037759385925778554252815711844834914532771668447157974713625967635583144331822559428442461063407191925664659987533040365166427896205416914587545044698569894929465523944617569252324237252780453623019880666372797809505034608632976281407784819251936215231312816703577230132227951993035464362136608756646245053675524681933572035165729378680321710422898414211560547572763179553195673723085645495637143347930543676875045305020134120824796505694042390303616562195720800577034108628470422184326994036328575132624237083652365835413105546442118752356642646296737154243387046980558058269524865