672067776567882874207723434678287735698183996731407283032665769920839024549543983973785292693188086148840928944716554924045394459843702614929744171983139198673431697005292776375654099306606844691722823958492022376520405932287721459546794688007881507781021177939252142112678556585366162391637135582953658837633863240667622355609359335780580862042884803333878589705852563607782158615125721257828378353095799831289308198387076185299573843222676897105843534515822178299264154787312858690726000356880102382183556788006450669566963780928947774794306630722836909659971528478667670162295578564434024535828796737893513323641741408332590935123455493738479140454810909487125890033049215225571757548972588087716843718314683590376247057334281289035264025667074306318203571897516210135768105341759399824196380644537445979477158314838225784042275751901940726604242085316518939811113838474367875428713364099636647770778269399649666618490187638715931263719763167435701589981009735897140482592935561984022236430938874923377167098063004834635782458380940121813749377259323028192259066479139039074497550339443856393641437277552234919125046749421995773382505090881230854784365343849663416439875180348219774897293381361975784283709343534284488174759616203793135777910122038960760296992967831915402987613095597635171211634903345931693900149250023465241918842429496066438053300737362630138872573092095896593997081858161610015438984474896460455109545618536212098528919811685432251678492251096008265391494686979332131935220811989543526956964599351117017101456162636433593219814194119441319824068825231163892831620343889012459318259503373773732342199505817383643797847964837823844233078371170588332774681162123659924819311236659938315781667477658947241675972786616922482867422424461655008991651587787992661951961149432223583278448192325354406725121637393282647810707223023441362410731029742609836294257639269816161976671304657720810270638119392691343697442446739347049315655674359531213484497413111698674408218259434512845092833207680422038599126079216127636345121874148966164466392653109786200174255662431570299168411026689971727755551016237525047433050128951851336381054568436333136428398711435532045798301467408158631793899824894313572060831176578959297217916473213590128013148606867961233627176361826646976844387352527723656101159237313473987902012786295287343504166003861710567717228908244496851608841631664799119374825145332625896660436908767903206391865037190367281923514905700437498043154647212348713696391038571953695103969494537880012513249350224067925029824903970210701714341598059158243160143582153990552843843630602142507708181559583157412120769073765184313178547410107386657272252277734141033863816732243622697729685352338273353982220185949191865965694604612271236682700707227085087256657977538594813842542865624177177631979888902114572853519954552957814837011117652066580400993105066884061381343235798986513745131621842609145816988315571512369086547695714485554781826116139051167001433870595069175084168971807427736252660129362187023130182188316584165022955705824159208936748821835659399842629607358663401053003882854861315981233853885820290837279247174949738919244310059812984851391083513539070428296327812792730130095859270170989418959495386217335342923233888128503296388886802660619489703755134280236542559652654139657815426197111618011486044912925658891383238474392724010919246401953756762186082363198378071828673909395428215905803935211154449425232586849366476728907183767581029382372948286194106935871411419359694574588530049262670829381909703841334983762587563134468151846441123740815082442555314752026835954513718974607278761357326040154856242723071362129255004888184431123297795587675323949935641466174175531911579651612763522224819096946866515021934491442932608877390005979262972826289394884158766130727524285543813677863262536997648318697791124076467734343418904710263741593112432920775689344024475952983951817396869601275475562941878412463583141621918418678664128875115883171879855641584433556627973607824500572869178311695671683986384711820563530365510124750768557717477405442539778226273451236848805190778117198130896778279083946047969927939555997278737223379887720319214029305102490687967109768160361941565652642431697650435985915876948484426612678752890675674582016293887927098200360111398478381060886551842065855565647811728641095320984527169041558258568494818654285552952113356413182017689552063541607989442290720688076044357581138406453695332712668111806896452045715834083164625029509130781688116912930157784705642253391982225279689464711373268130923847083177185422559086477610694527459651711701361168944867087439699951410478027177632444811192300874981787800864468870841178762042679958689597541685564663402549098253588362072472984813148743779511323748676414024283446593140545108973931976201746550797865408976351057353176782196650980067333258959074563376928051683853432205978271120201967841378277939187808670663452320819803737443157685839481872420122804028442165181798141268027622118495484807989109924791545159486096858409177535381104105152117506155648832532504717478749188904572714736527372254049853992425415633192950622448378327589532119828547501733977570999838998273786869796663150842286802813131255721384227752442469930384767527638099021715942546605473707168345884945032368878365218430416545399377591080237707187676348071422418049758605117599685293919566467456692912564633784073183280579793036580742799647716466473202418124117550672711067901897028523382705518413535273421472445277034791184441212162468605534285599259518606424513998305099351122476830719283584087983378661575442000891474714919631445457341633367127569240035995058459641075081862226036545898844483296415502351679825133439769165776680729221564613575428909134642909676960433798731541613933716960520397264080910552018648325432786478312170603427187940813642291383119962886