55778224416073136813428849966727608818176281531752462106452199683162785866762426292777147130121877985361435905397825144699809954189766964584512461664662191770318744952579416138996241264758195321355919762404906418664202060842774789667027371237337342295426869699067817741129348280196826156760546766826108096297631438597086679752147651890529095942810922034298387451446489780906199988080126718059256731577195151397517265545260661757951574271160383340540283834215917159638178677682128215395545623662645559764181299921558697847637862721063526090469207237893627686053764135971187239390622968902656692283642223082903230501701236062476344227650766409451975383512428477072785635455872980611496964409431435157698750935865693517251014649028964162421851343839131051641844560399002035793582418843617722294835261583941419422695579305482470717556452969111226504275222761177668471167863769076114682342148071278424593579001850445770329524949095178740125292109181124358218142585274295678510023837965169428377537210183189943987955803966914420980265633663394354619072108832372224611708084447305404718642019545977594587363985985030958437006395419995149684128937793459787278882042598742021628786914313992920760775147188609617171575522547257322272412647765108610366956263398518273682280534082024938732856819545109383759829670875591506140857132542671616699743476998828978475810527084406782631525880712426455416933840817902552112959610543887261432703974174063209976978693255362412479252950879157463541138515569726896411810714974728961218913721422053763005621863154081595584917726240301256176572044072497099775259780732715370839302628456581287576937611283270241039718929616124108914849486917480396261032485925136453165433816678132449790689310311721559459267926170329313656747550931519057353533106557128181441302004888358135963180491018431158407939419376133339453308925329175100913059123954469551225623296647958000651089575996307535242224300838755333394354687071326410486149901341619761677109381971402719139285261887177724633161786252563524497474070532280194729879759903163034276223261878718930063805419117509437975065847814334697722486797192782284097366289126306147584769396846350516579946996684472033592189297989361253184473833118739116381698832505181225808437351266169330930151586825692062045820860231707366742431414008855653292048809543093235961356930433416783624464691950294775512547977522119706705265768997497989299898187342581132897371699162413164975545577175574879147581692378816143079725151462568882162551403798286661651179803210728613096186594306907349946148032612931777633922468435860559432322416816127554569144429355365391426281126439934214902648723265778950437718403146984091597308781486089595057494139471570777943213517649487547366590364527369582488020133611575068793855193846212070492553114927083623637940286708205271144569638140232065387417112967393848482639798288444602360372559374787847245613979500145943196989177925899607118308164699019789662135562385583016497756931103141299716352466959540968993620270668006373834012481647640064134067587172574390712756579340572187518807012479659101652782353814274814665581176056170619802983440946345915251291235272121864003149632511714636869381170278432634275372444391824363119638515034261916568024529312224151378026850592270542681881867273353317670698577103059681222654428513504413977062231027851229287214388073154018896464952707316697791721582154114823227074147366881213996646385526455824109798131629473109353574857163611344333624304024733223366485367553871885553433114385469885041887276296782786066904375634944787232824116654224953925665195643889261965487219628914376524386894228054973738226779370515939101404729985043657639859422147899656823958225118944678096665584481380966264477515234871525471896384985625397044527162031335237689680950199570536814055074043614536975830574896792362612126159164984994887284919013012335317233782964167753555757750434035546070196217465033496572162744451602157601985990168021613900631327379783354833382500638588342323180491514381916651812866620219568743344905148638925258588379845853679802404282085233533265386269719180873131822041713615439836954366745934170166799837184318836025285437272258782215734863873774713356380794856557058091278241934335423028995533456764816619581276109530832758441999401821736582896866216805665375331217229016696163341376482802488931060707821718522562078348961911638898971757636272706638039492268559939565561138321853118344685134897298570978345679816140186992320517942797362458283036250840868474465126443842878324409592766685199825935612506274135590150703410544505513157425228943828364246240520176369260633886142660638055461355908578368032255622819718182241807610263490724915890094475866849328783222818865237974414563321967462200462449524654994346024601903465792107973790308943765399021845341682465402591715015932660064427428497983448276440557498855726252553561953411726995055310560340334142588424958203929787112729642231368840974769373659388054941908785233338326143108294957141982929292964266654847326720219368215803290190174639689318441430875333889035551490283850601549411292398568957065680139693868889450430147439320280578933690539545452533628023915813293444646323045172041481252298549192121952723713741529614307841210556676849609351144976880159097587168214438300724964364878869898512376760882041368836665528123147175752823836998218261134732362786166612191161476697316468379992988134147605435279920212998549073894862687162548432599955736757368105456617213354210962873631249614674038296006348325408894167513273233221873445969347464673932548619315341736255338154993515655857738674943296044517257317039748714751479411243866141838546832889640895534067327146298831979587759560965993786560925089514394114419247586781279673382458583834529024833631713982991474590342746164692628229810809139255149252541838980455166429284631872181901972240366035465217426820455583917206886632468576