43084986227992655582450288128109438778058832026300299366367363150449422796766456896431037135588751944532276369301669808083335080717597050432563115344936194117059999116712155003788826849306267871184242378893179612548526872295074975421693983721011356638736485972698421735505577879811211375109984553697517441991093937389906727569412447214180150219901670187975475609657723355859831692929996679233422877642871856214974214787935948254186196137418914485207167415948432681399226297886338470442488699991960053565468797946339557394548323351127538532853798654530522213245554810312949404996988691282160615588202343952943589143707754959505747252332636022230538578643617585161385305227231506560979705480101912539385475640503877648686111834743710415581522471149817896794516897321844758456916214281946735520564844624228048962328554359499144903894654657763763958656579882461244405100816492944031699069495635933945905710400035075337047008670247603651884743617188559423646328490343711639194513555711510658920649465461785456747460745688865432973404238887826591135624221741037456051350204544289224532459792720576137823720985077094870467443846615219052106940032684861473686868826116326301652740921037131442387923361739509097175619374593958219624017108658635322457784780006764713562721471762253122896807048413642867533608958416412051009150536873343443727441597283029771208627678371891482686279518257962455307330839756975047121888371538963087337390037720662670047796522879774882450456154706478088032476828683512444532426915364948464577019536312673763239335311844374252562713553342183566263413571347620494492271527385455870444024672502619066486276564039260264692327898088558321728766316711380156748567280389485272853718614553391112196798652942321958355443684728042308952599233552348409976396918556340160870115452967326135505428633937833795117365443851436681510297749948097714171959407348610177685137979973954774457289180892355387363076918785421035139165277038042168835228469957595565954128274352909472588842786546771038214281787451474729219643100416093636885500331167290330385146426106146857443741494856696798377760996779761730092607813249091628330629398777954117497563488631763888850885824979331555075967660461142385433266050872445759437377875037609936905571881744428688606922901881747783773593813676238746742249831951321085821869929525854642117970472534997843555375082776311413912485864621356821853035752506140150273926175553543420488292793163985365346327214522358689430395349165595811613967339650094114758393954917527716442341565761951662053137910934256806854022564394972068462296272913530079933650919957145925257718448774779266876415088332153951182548758494195963840703123992435421623971538472924889150608267588772035035554145565271741867893603852394725545364713995304900926181324028224554747630258384704344440288480625078618601886987345128127786164596863555296858670660797342219721505307843395905365708751421820147388525255989933934102990258033227925608633091470791373946977087911781550356716210695777887646748479768462252299899804257152093436263941920356953823880150314883685845150419648752978251819373425713175219105922655893791404896574438352618242146790629392785812976781499186365981133742916556167246342478168464729499102680690854482552899335846150525742945939354458935782059219432884217500191678132271923832749176843240142936713757488127351592116755499491177158924616114839413991020789635818267768593248292758513772188525646179196541351769662713143280543780556072126606558951294972413627871297279823014399642938118228864736444202322626832393936277163513667190086136714145486549903809731213223120660560884516168696823277208455713493403621932433625227778937445914476617431496755115087149589542038176573233512148370999067388499668779740389754781959563397547207866325219776771168311958176925414350618895024280210981422033607911774151242952724893833839974839670407373993250979757901680355624626131645548648841979723935262478442881875693122168094448084113336627749264606847836082873908285199154494141897787161363460733024138613933217696333312990427854581724137618558387350712265953242370282819753691296734102631655011632320149396393232399304739769674825885617885021202624681832771344801231699767334901395216175394178593467926776794125333897872877390276955925844483375477908240214316228815128536274210926167546011082630102241784461934486149732690226457139637387364448934191777160602361154788007888930528113207841612788389695478897395689251588695947220292819414350648628989864070438168896441324246229873101107210028420315699556216951771507984681490869960601190039351249861241596975795843083779490346477219452322534205763367189950738058572365870277513133113547894109400985227028340990150762294680655802531048348849682203242497149573867978261090764852568258531807377031071505661215285756569764167917810539484080758592155271429440598065469384873636149966977470483493439747482786805136487467336438742754142176797509757720071640346156217395638566307827767229230379504099674197489416638639001604165458008822135941326397822573033321450112832975913709631304336909478112170302361518325328410155884481961420537138476187237441937456071036640925789061417316947458884800880889024646224666684258426479503374251881435625312110667668618643979946745100962995802423532392193997760284717613187191728614631427471239902181398699430680556516243479399842148558974346092223243478145969257893631198795714524665355410188461716349809278215038693641206959321764670999890506448451297103063490714450191572610443776409319634459621273333504618871750595085237225132855943354891878320401772197610765798597958691396645068575507287817420394370949130611847043676180660916858426784284946387691154256815477469506913965463561416541209554209560718554865809198887158352180649358702760269636334065797298045544380625312247393851348487585248447233481639490260503914300857992884580911137089565338837828688471837119