86828282785152864818588580993608849496288648120434386601982787884058440838343516610747120353242888213331007574692132433734161193532143284991216026972171675727423961587739010976718751015594385239850743518327717296182149526578740623971596165663337607427501950827028657159828165179385647632491489019716821210286412449858673492155956669018893145425186430651145251291243877062891578231770253654474959295626224232223096823302145764468415435149421788530628416389797576925891978282569931349017649592335133436532768128485524824912946051191851221849963433016787121482262818950470424070650570074802353236455272772355434352003567266175729696893411355291327825739034592743686694312831906764324164976424653155609105245779416306726974139679186459677228276372296966136185517120621745751698213254195432565370368624128204776691738899817743858301736931639779943919139962059905986605450058126933649977009408371166887534483332156648090033575856140107395354985595906944349990391763293188941696481113032505378349974297724834373431821685949038069146694651390901022456489852172502792262087300802379950905970714921631254801950795470576513279041808712705853442572872315528759339728789843274499382702803983497028979749177126421408789892943811388594064426887981481498307266143299919935402285701743776257963435774699416717719684778886199172168448091543562656966994270487134702467133032076097957823788528201336152272023699780429542153342978004816624649313789760092041901420747847119486721980855619925319934675633524137149706477762100997311257219572645271872607736626979853879835119112008162570466843939129796452643459887265611360411211629662620899709896843033253517194175474227608432636979222910637167215059763288272656367455186319773797596793051709688141909074339588315912326597934441236256090348475633689643722381414413707155618883863712251425742383278756136020279172408582134723628232558715825733795274880560277373807426419882461913591148959686461086563400065466634343274966217326552671858929773356599416191187308792391382695497247064348987993938355823892153391899812162998771590939045208208947427749372120878678182903587340224608104285549026894744639578730844999171916168351048757796806229494264685207400403645243984813427406996564110751960660516957966681774846341572454622565651371995666878545428147779670512285152100358329496248676270228390464052891606697617283238467785953358482477841382669887324949707747785728857363387273921419623800642525023050231863586632073124586271118991263395560914918891514519757365670435956602137876817572209627269601613113664184860528248726263762975453063912903625264913408666571370164526359641119826761849211627281257862746260504602443512223209789316861865002376936882867063466623313535350170088871896432222363873879111506443186321416806043361461424368104428437068460571342425893372878400716370262169888541431326940358469311859797363187924813111485458402380574653368925410087998178215294879619880758164650837741041619253558631666652074439053136349148491043303100095228384584148147394323911411446058487961759528744805389277085644158503833911544316916251250034797122136581199336244567679431679669147388232229466831667637289540358109336124629454270316017898400046518080170290716963620541018011299041082255704374851002136886126350974459372830563094504230548019552905838631536790132647084854721832640201844828899622559594976163879455647232272763779343518933726372786234286859403239630995071127145011141108292915936725665567224516279199998339821022226144918381653357103815314560648413697942681070492724839397881702752020168085175042111809873577857372797995993572145687955697186727741805441831671739750882743901922021761769886292459048853434585238940923806954147236898883536481697768568511036247949988353285475596277204043860062925853887487985879609848190749334306895764873927924588759804955532212713599758953801186051451385725637491614691904270062641472554197716022013742136432231746692260421504171212294798264056982207233585525490307811603597206732336543761924620424530717525425183088444164834059755629837836649339210215112381832316303803493368323103071908602131784594873932926746670859641502222915042765627291129020449153075905406978896748798056486441355879310415076885448811732373249716277563421966565251528379520505032664108489777161139648095078991418843827490998974966940916908650679408621497584622176025520433397037854083855384628830558613937292718572684126871769606759124289367842527050551047936396876577355333814463312850829227626049528892909805742231431603948529585540664264846523989484917634501869355352637621534072847127194419918943864672161819784839286909133811243456529338274455139782422334769175469078864184367202979869058313655651089247369635597467958628946516559425641812195900795486787960168623270649686612782945432195671459075548368201279244808685172923915446945097491599944265830223746837249391776774146707193255654251993796181788383247532771478079896389981921033573671784967283868426107524711593309126173712174529011703234186815522591703267186451607098707505120987374300679338893518129472159777241649381646967646822178404442358658507852109621935950616995549808747990122694337269880463500998772205530737959321135615121351955319460712910711874997455243279534066705452177160579974683722676955627199449442338181946588170859390001007038223617437704530431337853803799987246673667956237070290818439742561987829102039442633365159695261083736522588179223408848218192266525698494155430184416676751839233985978321542994373174211310668176914546985073942898284725814402305571827411566048683394461771380328585501142461403477458873576692140698665414153645591500970334915704574867573661650640243120110820499018001962103551815324855526873005689402976856147382560334481935921473835778161624492145877563688828242154268546962492528734295934897476994414515735465549814808682047512796842331302482820309162150838988032217949001302832236817915