967165823796595848255317576018765311179896146084206794643168938241511039588328906204492198521246380611647722585639973066606764396346788871250389428659627820668957547685777897438344850964232666514676771701147382485826004859631846795846431696622256308338962946704742636212990919698752209839180475552020869514239088702883103654744885669682701128807683286961395680342505865641966008699535575969747253012939278985156205236694169999742189235583407415342104976447529176431459854761794152080457562205080611982718590014426689763047026547485097783545922678291459072219792556152467837029596437752677849377315406859312957711866623071871975669419006475948295343072024631211031051527769934984729316276533160828383715547979670481674239421125396552674375837798017409113110360347061627154181637894144047536195993251674238523512815569886777406712505980018648475528362604141270672413411665424166751268590463326909312047416967247252041444283796877822383586433998716818752652788291913040922961732860443741395413048100683755402329550325631522350392049149396419935498605294183267271192621854581519821088431630382522399496216418179373517038227207711474213750361124652767760579136504970577806339515296186270271946258133359600661938007380415096718191938936898040374298944344235595821505566902059292527470246219044588227422153510396127559427050322338936760989693556316408155647110277235491956048246179753172481110805266985650545865916385246475731631840915367906613154676356956398476967374298221893738327158274388914075249544345765767539011922554612251472539399086749610361067808395465296387936892053252037601431778763804819965980475382301618912188906378556948267053924886156116958617046638904990635793258028899970934595845088455732349514136207216683041711148510187317471233938707745048151638327599056899640343381541206777547387871871643158310382733544211163842559319202566758481078653547854526717934486520991566340760964095686419698319501675446969471751165853314930874926626727717441850461349365825109565228371078389513276862983811988206621685631746837938027841773352864203407616976757496454255369346384697332913753683369239669986781047620457888242579322038625377253893452998453944747288331332342019321936404631423463820769938604010901299429456448257630362345566916161919787929749338477801899803667448140624615622531241754969607312240487673187646416307570788616479362217816420530409091572218211969259892404078643892860330649947354795534961299430388155058392258984005144965505483555092983191404772987525440188399159859994857112570089474574681277735539151334252312162757559983864904674286676648195257063167249007711471133399183954186388714321985765643715041209911893478645129755398870535480453599921676160383366780498321062876371250144207172643195049665520578559638147244332221752129852540042354893304186929523364018520249497664755045384819497424594023236460583014062736755640162929597330361252340657183459365722746973553267397689246389423624089664662218404514210285011409578729234153793252807719901543178906801171838576266526394105776248741388199869772318599588912219162134169106978353979819474737920584554298231212279227825592019160712308518370456129017294471253953376572561858146293142655102851607647146601397943067084606548035206547758337984798395942041624259698109821919861576370472810809051875526774650015660678328598032123617173367111453175498015198677614535162790436934743391712439502582195887141363858634752595912070554834564222645595432646699815541106573123173296511861980222399900878689367193968697700735326307351811360854327487417144394288154360849937802724657720667431322194878745257322742163581010881405431174492786919825272915791977921566782039766178234663275214256648255560798888063574936784874883974535302086750984106461114951582431344476823463462819951418401716574292368835587872347771578811353278290346331937611249539866604566282811721902761993093016653158272638527569044924168545081806859876749600448234658857543825997592953564984892815667313627783179146962669992551891828015724830753833291098756933365148332329864391780114624272636794175491536488231279727524225124053160784736411054140301475369424771663696229299880492233560801353917224255680462295217301881207388522553071341278110522765332215398112565926894042471111841553309582361784605801782066009321930983388811880333979644821012710473157451747423304055850062035290954526297468342613027056394507292311892861760645676976656004715524467324494122796030511545985008790699907980179837264096817410305340812477191127477059449047409993645439287553849739528419619363686194340682723351190799229468761443037838217126688825862995503353513661422645114228475464671009695325781265526492400798916032708409889672431291440938598308811645170467567546585140959133704276718058276126623383187089926147936837205851691799408448323034468385899612085077200631225913459823367659410555823231418879477234443049468032745464692560759112964675111848149963973690812163765036172110747539162947328301261678829231437886002436194236455322654548294822959742386632193921432609744280545426383820651088641521761268580167521084764471106822110779727402380243119136799298129876910374132668456872087477015829747715166495509530608187178559899598090806627563066214350178345996123775657102274467748637044685871938794868380899519788415439980505937198294999492873133350602967291548112940559433988323499967382765936546629756432274378476890729880434899613127419180549582189176286539611638555783038446055456349510233735337276844912437814117854018948925502087757109016149287697061997636321396659019192884379396835812880588509257084199258927545989390121394232754747461289328301414259028306390194226699283225754393164817924492270353167320558762355863482171085580111711824977261257504738738523854794509137213269938966336579431893998980269704208316511293166239942015500718745317820917740678368619423518012899144116846602139565330431464537680151910221146134062405186