396830269767625570470365579108395081458083955963318454969518983177358537467735874417026633412612345384552863486217989121697333123197260773880160474446716329529323262146495673443328133775724131963757172472181841419990419020690753941644717606818858620134463537874113119992751373662349152525293954772490189788263669485221995249961245053262471596730679630044926314485835853953961055917566691836861508758935846612216632886489514169850351089204845470649559294836799527056812967489869279807991903895966681908403160016999631311889932786583306464999931023427824824443678589145683367235418965101380646137574530377959532373246582599205852659899282534901184933199312315092461975287568252631537273560259576059813274866221136573214212669724464811528639251255799316538412918545973228630803138249440230756965307576327306492654828256085852969402776486331851919696435343917387374912506059689788657254822175128281429618925885891860440657297187940559923890485071767127432852871425399094387549156724323963143694021801163792614248861777226853025943740878207499413513282801911854288045403055037136703860099545736300449657898239215086086462839412610209561383425109286068140951539144863189221617342143127652591903724873771545554710638325453381960757057184210987979398301485333435386611250334392889014595023893321929866343126683351280542429518179985505860269867810584110238321697062960319011682712279824783343633793802933257537621801461317355330937196186482722338754833968646729037329868428743914427561103945449956832861421191932977641804634408166894401412538015423766318308648905422456624093604620452868224674362377477858436756059102952907999490928458524908535485248792798176130417929942938634935996314331749667934734920944529530657775298282991638888031941039838400110053029640646119337829992239663209062566198397544217642455811821367918722052275471779876082249923762077044705192423677914983469775333137859348625265280849841199966259307583490445189921171896489619664510169198415620347120741876289201894669979757182829558550820064844563595882663341998676644055841353121172266882274317048904834485123616169562673149985297388843602292579405712430495398757992890561152380546094726309097705327363943073403911511965267647889358641358020395771205529653121018415435717437371932949902516379036847572494383812333127357821962983173908456175276068733217439998677547357282254197516797524889473882730703548284671520166437812019384871856648231868995168064935251748135673172020821526557757334045949377319081704821960289725764196645422426018347371942766587566260252240852893634995753709367145218341627651451373388420244840236511945080360792202169158681980253732869160934808807925311508689834872775925523294111833190353189583511173844323236148313102880205363406654157165509836554655309281423366840159702077263155099339841116468188660676718726082020754678823993727465484140843193937296991487243281534352855145686523586434636881488277873255722808477611707797628985190643251977368870845957709371552123669834738944208563812289133374106631198291124834397922077183345920782093596334418963521253914757613475358272447194949394351802927493619247094611070664457123430998410527137243859844272149404352892788825155604948569812897666806790395156564751813380016515686287086002777982964756328574155394164243878601915886129525163377124519776845119012087683667477559779645653070415536641321196541729069968105754298758178711141565843585143195694752311947098895416033546854740278752103170539295644872944039412668011409582382255142285957899627290494054823497397756844722854885946775597351281841292271176869539216793267171069911684915265691126878918204790238528654261489975443464659337524449750086035293729575881915904973047401298159222444239401410355966784704734502608267041041440397149105709401584722656159908542986315639343852326931754832042990687228234614516118231265913013143869571928886722091674889981704492560062575136269364496148214683652853686724377931918646711525744537939723511940287778227522186182527221531058982429735158068108249834417249294654427994735881634679049864934529885625771647878933486922651881656162702118757655054556774544444114228873341680492367557660643868222202572680881537281311433154812819996720368420867149469169645820651867733234255706297785331100944542051069336663477967681792979495711148658012894646963139825255275751628810374142282873319325758198301156979779105798542697743994554404553572989268237376033537507632850545232470526598134650980231311581252264715541144736107443639594417742761403732718849760073669148513831856978880449496611143991559187257864326899581740707712134841873775676117386199078859782897936216914454909662423196172838445028775184509169888491078103168344764064424110059319208106928783274449831234462894741793502339647061684144492969229706347324735665223488266817285116493491254999047988033849783451778188266576138094685761590384054943886039527920109287138414442474756846345863026258367747109324647639728145930751826053110448929246632521992738371752794896410220759834865528780452585768425963507434756576986241364798267458376542049198205123378697896529105670753171137711295924979923812212594600662778097078835479774686065944246361061490710518988023824867352216841123290424103548192213931838039827004221908104068093837703740488573349945118262691169426160455530147820736605654582920079756115257193913661151138225767328907292113494985624129096779720968313347139084646990150462399023814065363901108581532024057648813139420236142914145559790465937548390883917612686124006664685665449556442107109423284532537299375659814124678846633194759947086002505699598834448564672272571516683002468270052189750114182109608822223675637241838257755898166089768449495360222168976722286333529077551841138565357075764284089476327137109920955016041092039262068746636321677076599289138588133859446370520513641712877997092664209734886435300179860318249353386801994449182322081