56308327417331888449749427795401896843548256312481293436421866938819202738817744926274488925459737843182944706116536939818937195336659376296706967650955288985812047651316490116303295432543348594658649431937806257761586937487389823084933251938514499539185113157244282957729698423862012278790130135686057104602547469184192491456211788750738395153200967819303117196036927367561832742282308275945171573288384098564127723189814802232515103964454896851831361852611700881153605158025553965234473505719408587327891609924463378289655820463561385696860863335508951742744184315793475046161294621508722633678746766720941115596840563940708448932239192962446566125069028901486903229625661449761341438161948135958684332198528848151074973769577737161336751800669817657739378387874357589006131839177137152811790382314629671872411591219374436318203831776691223481153091799355827459919147810687917382195417658321167705379157267469492019552444258552953051529958309787542800918754334016905932151078695286548542547026817311835616626933191918426594447723672854558955525291164637350081857671428746270516543182009447863367245067312388789826687550098618869668466082649105333845129262741659715726221491872526692806710649383746783899263795596596253996760958303331972801560408615309268900324331215854346044518284964242693470676667545882461532382249355757089201993250660392946118296186302430421413457650989636339287296946130273642701927373250441558062678851287951363075511022888083189970565899805543878624715863251946140642894901626604148809022620749533405273136657298762886251004520152582726244879658138399726603841720262124281408833476114530358716721819159787489067849321383431403879141527054937852589832956445434512292815224308288376573006599525852413646684231621205472426989368916912005225722712184827287808975282674069998534118338481242093498112932869039811449729319563202932399505463467012580403795852470394631326437141984914210491579957861301798282409637945772365091848652481494283022464359641114037495242673957410929855247698795055829902866058064641689429488347688290216866078317098027469079823575987185801632909115875489065198952067573679147912451319633836727815044881373568194002700978144667259292023786693990119648136471121752655322684345199814860323275695539522035018358038283972396582928017656455443257515345852894623585555463787332697695968819489653294473343460553311117874749282183926254897677145845797904313394387299657992912511196396131939750668350508396921406304898755053921325232591837419142271962660715436284279975337254821109024167765822852229664131879547243651272676566181323942459667493084072561372380455149958305617255948963445065477738852954687138446641303362272626038743982163307921457439835062592161920043036808104794615737526210123610084724717820946353294199197077788023448589863525040442659597173352158482824843561228745930551352615949625761544400818528770832629289040094442359262487523014648349445563894343193951136428622206194536254458502876584912415755385131644979468354837540793177757211730161576286166943964793543034359889519462659682121065862973695413563091127040764038935110688409160078018498500484853577404491876063771831719743555990947313726338592213991135147258998393980301161537618687117228682410705155420975926392878438095613936981230705666627772624356719939423855547573639137990129152642405929683495742980117524800442212888743460440346166429437948188166152267183926699195947606488242152697537070005405707781714312594691552587955124094550405771939195906943241453365881452224455021479885877578373851852631368899546139825628824715373326950349122715409909396148822158671569493665258398647223884086566532536025877429562324862737550278321989064964387355197538574766756266496878712473105255479612853652877217416746465178622146560195939595288838736585510336040941245662650197334173643161639351223651881057992148417576312862672379255983003417169718678425336305593268636759245438524201328828315831586822783588488539965739151972938886928318456765376077711751568104684571214078608659708220826024475258482803073813973344281930795412546603282764279534695736061600793533358085613976796231442618174371881923272298507809217259884849379797026694024214580350828182005362841110369165667778424882991196281925705604017401595598851539917547821679364651202058368120767919028107775926967967460766359774357663937618283436487200393954959787544257247873757507607629296569449586347275303537585130862809770707975736684643869657121566161176204986180078009166445147859823210582553111109092133770302227051566333053521247427759144544184390112438125653991426436413262169222658050707440781369796687252970696005357660575813790488547461527291359355800106190229128001832393183407221481376644199278927027247875690555908323419295262252761411809866276571921075433298426528782357598603492994684642546671596144896598933242116670931679105387670022357768950922563639238470317193607171793012953289697162915175372601040175127777326058445606358831235373864602614187263990951435618215667989720228943889653925825021691918642145525585348632084169966882012659847209588326924051515128162257169025684636009523955443209819236572983612219037242694010599147023495181036719018797712587691805778338758612187828323590132674245602356037305301772225606227153942454917957533004380328738593113535368261074397957474406288559762458813191216437915333051048108491973446768637543223463626572980733976765326114024804846053642025798559288715119140738492220722183782842012414661347748619767087783859858028991648607688172791843856787523612094927863465544722651716432106479677105101214678006517616547486188977422511128890791487284171048117261085938342059097116571168963680804785068789560266976578026420523463167517873563489303145532081135633314957428161243887114364948319704392477524617355798221145194576713018252446071671412773873274232284689242336783217188186087276596999777803966108539439062181999381683553741588143