16614107842922936584562093276381820385682566713827515604610353472100742651477572653046123298804534525031386653477287013282561235525750174980004265103479550227432504113360746744978322926255982237555944500041496571492585925769622369608780946432923361452961511211141412981246497459412246596354087974190194541482518978033701131639871751755701318402864183046515788927469008324297129379508751329258403582893411138921626271516626997015394304630241858520588728557461518624388239380598719902842056128189458125182231306595818283567576084021710782576606360468933919186198431774536856723193938939521814570646712657450768972678863860028846425209998613608991645311550246841307155360157643728951828866626901370065082411507788132108704886428690366581301871740828631745904496459468986668565102185168215992720767427533939685851645473972185559197521628847390130992703669267537608809651816636543162313058886159281910920520851070365844307212863076212518330324822398324457597829247079825205446542458182918154892744105189447322323110181535896492613004142618775034190814052129013462781773040888165038887619631289113456913128741160180478563469838899105502910293591758122544918414873021847836630653899586439849484772592882006771182998713257818568373594520497060311951274762570162453474884422045196712220611017513783956308481693057634863176894573198825605682562619318213340472368084489214683838169926375770371998111143931036488324706147483449850374329894215047714135697642287375161458830292966552906375745761384850155327750108026890386234254753681184992797769447180665982324138707873478262639061165884649663140271611702234912445217706759022460646143282526559166976649465846180853754694866727252938233661812580926967440898577153766653426795109929999146316116891859893198262073134635392739329384361914968640408167086243609314112075662183170672048641583220968585620482421983256500357671115268475007203550425046871148694740938581730680444129571976069146343704584183706161220176160971739975258497826195197141980819341607806779537149153435287235173141895371922159188826368413530950789827464463170272783902167511844126134715029835202798437538708764644340808986595626637897176713422741611764264404305118755953849829696636330654450079373120323715252129876116126403409177311217647414581931744386643629151791260419838834368272231284415123099820163871392034760585044190975428631866563528026009722244734138524422679047607938291589956711284625209796922873145128565964167327005719260345311053991854742962915580496634038783698299195599525195066617555223046747120580397771679572180048652900121589782091658679735956639128180558107700404382935618162725312016587859235061951244041024938261414501484869695375897736837632266609046395329378927019137572526302138126398595991811814229028775913135114988853298025558318313826112884324628963448204754115262995422824677843762175205344326252261991233154743926880732564314894484249809665327232344908132319162227217421714786640435140591584293018084835529487620553342782010206255464965155095677460511879314637982858350033928119450694783870123733923827489410532786429761787937183570223956965344850042134078980730017325594281912968448915918828476257771652897181911998251892314946301278763027256496174757153816910235711662795737869646450986701150517210513492805236107934346576273597675617848900694759142753784087727522142160305512029355997681544816726356696316929590458309661851806146638708192819482387711427082116271719131855706269387739036861187630593161283920881121640329342585632798479041496883238203537245734299192381919361132217912453727750666523488006341737203320109728220316485602364257765319196049456126665112353619023308447538634867727382252732156590882689666661046593118640679672103263621127682366164147423180899935907045489127901742949811721128631287516985910441796212569039158780767521983162283936707194659969696383356214802846806391737091017128553049602799752306791916943695095295266491604145221891071779927019456383298190945665723719537445310929193742877536183530277173348982880717724852925135156807380861783829730769682942162504116096671621461977414809841945058120385396988950743715217906864772100993344323626133376063886073774717124423961081387652616955530056463905295218987113500301094655752914999057965613413568047728641793948991251491507519797323109435854258046233446222968835986826028821038953753173570806084691750433973325765842655789879548455879010025377239545257205217043529529172831372849886734344068374614897109706962886239785413858349284546718802369775236175212023384682866027719296616950341532310936434615684325119399996020714729589365019335056160825974345890125527665042862190195283875509319371588311327803964913992677879350939402628219626902309930796513986017338107510438965171072739851766675730333438646464735379652778183019938682569127752208501287463630111723485788572023402689675956024394719858667719962459836327563590729663894757642756317486717779133895595903794294195465145631851534716283056537166940241577787952245298285588805799478606645483085454435860483875313467614392359818324836846370447413045931124379637168814344796383359382999054182384340562273960785288644312162223862851682988743483269340974467652201531968956456043289157921764457853264164678322474572261177493506291986383820650583490577470405304538370152034592556813580852992382547692286822690434117431205578739753467021086837090395268251669867188940217866832168499361786663257939674241112926546663023178556155811541783229062355878865320468323429750590434686758220915734500985682908422306125035825922449192977280852791596549320661162400115447421012972713161039549087065939482668323717460657549514581610582374541525643671956885449151287250047721488658793192609773535839036613335551978887460397085794449545838745553229461319281628595643244168769767879443061136880245588562444324231474537244125393936597712101912419467367520657519520952494952772152623476898451812834766467