43661804614193479293365189242140535595487952012041311891556792703341503104530539932148298275476582553436329935764443679235474484970663799305147344091294031537221538750409131586823690546194812268074795134290586315864733392767569973360007032165691162765561430257103191959753257350089624391958225685374723475738857872319699421577317049251786193711947279179881433851415457471326025628287190248646410905476338219215536932199138219026574007763694539183792322486443368599980472865906217823308267961632616009587879905055782310681277056356551867883419484888552884263958544562861325576267840642588151172899147403618962431791693861425524461736851602403444486736582960956057746840747622889173681016991611402657233223146798691070461806517393171531755208288137176518272622555296229908844923632600338715211960751048737363347033543621303193735030599186704674528104045720301829231953577543425541386374428061476757157518709647916032124284751095432486398759483172125181731333704118628215854299136678902269472529544568353031434052596934916736760990315471372806861285189358514919451932356248435367058749412318428048370961113140251813539360964314206004446509020911874751128641534548295766998188314314261869251323466985999144289153789706529673325142363222729486441336457533060118896713086946860093767893815462542670961344359604841692285958018203836372577195269857198779682670238736238223453101579141802197833775524705349815623697824713829605149550817582364303919615786835124647253362630969264796565543309313166159234677688998771150335068244401155564514329615086932956735346480455826269112376743792957445840683819875347379276503151426684828006790494536913989246247292596630740621926357820733383114486077842603152076058297838748695004480724640466439349100625926961840086314582371463891286229713281843875175522682243080682385945468511246015837045500450588719788984658738201931586374680668321634736113482274789711984483223131533268959413992758390145777854148292561954059889926968636497256754792973518103344531264582352223162278801458466207762859321484475633211115257355796313026307960905636977797168521931310342317872341552616558551667645186495732237792455477512773918524771628969326233074535559739521316473239080146192544377868637517141834977085142853517396752748736845051131467659316539529562972459928811838096731135025987581933641336386387346031764909417982591154774226823804307455765573170562833854297150336776489759741753675616866740703402173553131900253046703594190871306779280250305520267457920016704948477743532350715471532207181942504005586346938603138925207526357457455324553320434887049624901329943628279637329255814044457532887074297314692313576771090548347092438592774904754101051547923434253047080196511489856293159487613594234420679689575928293461881531768891984143884619330947582757029623766706611922486571809891986288848425620383480968517781715850587426452158058898950349795063555636260113615906598643825975566525551908507260849378388259139042949362806992626332978709766829635666143901184684051979681057588645553593033947172930427569265886779491729112952594405496783665563330615783547811523859947770271914513675510698499610645255009721751617340535382195455628449947499591197327683253736071973183725802408992824621606446918676217479234239089574764709599618051418399236065927797871537231091759468938242224889756632427414486796649960271462891952022998913247546873019639376783247718380350429772917837826529264174233114471499180958665075284301178692969228521064621904334928233359153759603887679647928128753732157572599551909461562869435858146302382855001104935193996680444358315151924056981327988039124098880561559397506653237429948641680371590081583563865517027377440238517890919911613104598158595219815927491049754072843629615132006951468786932832291543874632368486986022124305918898252963040338289935054586751957756076240452673197476598012383174491051766870204344836516979724663717541472981390283584414828786127961537865762234412858661896527698940453366512374114110184424672403508010473508826012766458100583635551891926199253153721682779929606138450025966971791534434912522782251237294476623156203262532613555764578039687619685152634746074385476742735168916725379512158130837158435368553392167514646870738526494728481252655728907097376619920038725729946581187935750855220382863727650227222213236246768461606848472761597268495698641280445713994446215167381190149987014825217841274009911892278155297112167850715885567839379367574543556159232197568237462270888812624794963355871087386240818402176822933024228612936985819625897520053967315475767902019861630885749924999190857289585451512709633212083740227961805137373181484693324063496981343365464663170631191523820522796944162344376537041015196121423910418492337038160771333506850476165082824259421587450022065088822350699706112496936772967863648382646154952775383415341370405177361206779894693402673075156290159231804194432233493021645875982661514775528309665939060256018384192971333028964353392658337674676345684639935276627216283032405422297184846675158870725816947497503281620715216911570259002448148780574995478593756341042575076635262380626043427907114422155970939257608654285896195086739252321969997059168438146726517378462573388102687167971560630942715561560453768289592727973173460504978447134384911297714948390433205847560284691208924077050489246415437337890518309617026144586385766553924606148981194071778229831241992883778579483234131822898615500473204061829879599473278877109825854584171561809470153239665379236915834639497134738552372641307582570469112834113774019083909892583014285350735585290846454773878654624635010885854657275489982632357281489131366973456876424672955064396338749271115525258236763477163078277377284438663665069466273374214018567381385419612684801257473373999489216644442331685327742934617807265667774954291189715923824472293086481662976493653893910298938237