• +598 29008192
  • info@servinfo.com.uy

Archivo del Autor: Belen De Leon

The 5 best things from Google I/O this year – CNET

These are the updates that you’ll use most.
Source: CNET

Algo-Rhythms: The future of album collaboration

One year ago, I began working on an album. I write vocal melodies and lyrics, while my partner does the composition. We both work on instrumentation, and complement each other well. The only odd part of the relationship is…my partner isn’t human.

It’s AI.

The relationship was born out of curiosity. Fear-driven headlines had been dominating my news feed for some time….headlines like: AI will take our jobs, our data, and eventually, our souls.

The arguments left me wondering. What’s really happening with AI? I stumbled across an article chronicling how AI was now being used to compose music. After a quick Google search, I found that song creation was just the tip of the iceberg – AI was also writing poems, editing films, and synthesizing art…and passing the Turing test.  

Eager to learn more, I began to experiment with every AI music making tool I could get my hands on. Amper, and Aiva to start, then later, IBM Watson and Google Magenta (there are countless others on the scene – AI Music, Jukedeck, and Landr to name a few).

My side project quickly evolved into a full-fledged album (“I AM AI”) along with a series of virtual reality music videos exploring the tenuous relationship between humans and technology. Last September, I released the first full single I produced with Amper, Break Free, which grabbed the attention – and curiosity – of the larger creative community.

Many inquired: are you worried AI will be more creative than you? No. In many ways, AI helped me become more creative, evolving my role into something resembling more of an editor or director.  I gave AI direction (in the form of data to learn from or parameters for the output), and it sends back raw material, which I then edit and arrange to create a cohesive song. It also allowed me to spend more time on other aspects of the creation process like the vocal melodies, lyrics, and music videos. It’s still creative, just different. But technophobes, rejoice: AI isn’t a perfect companion just yet.

What the future of our co-evolutionary world looks like with AI is anyone’s guess… but I’m optimistic.

Since there is still a lot of mystery surrounding the process of collaborating with AI, a breakdown is a helpful way to baseline the conversation. Here are the primary platforms I’ve used and my takeaways from collaborating with each one:

  1. Amper: co-founded by several musicians, Amper launched as a platform to compose original scores for productions. Currently free to the public, Amper has a  simple front-facing UI that you can use to modify parameters like BPM, instrumentation, and mood. No need to know code here!

Takeaway: Prior to working with Amper, I couldn’t recognize the sounds of different instruments, nor did I believe I had any particular musical preferences. Now, I recognize dozens of instruments, and have honed a particular creative style. For instance, I’m developed a strong taste for mixing electronic synthesizers with piano and deep bass, as you can hear in Life Support below, which I produced a 360 VR music video for.

  1. AIVA: Aiva is an award-winning deep learning algorithm, and the first to be registered with an authors’ rights society. I first met one of the founders, Pierre Barreau, in London, and we became really excited about the opportunity of combining classical learning styles with pop/synth instrumentation. AIVA uses deep learning and reinforcement learning to analyze thousands of pieces of classical music in specific styles and compose new scores.

Takeaway: My first track with AIVA, Lovesick, was created from the analysis of thousands of pieces from the late Romantic Period (early to mid 1800s.) The result is a Westworld-esque piano piece that I arranged into a pop-funk track with electronic synth elements. Collaborating with such unfamiliar source material was incredibly fun because it forces out of the box thinking. When arranging the track, I really had to ignore a lot of my “pop style” conditioning instincts.

  1. Watson Beat (IBM): While Watson Beat doesn’t have a front-end, the fine engineers at IBM gave me a few tutorials to get me started. For those who are more code confident, however, it’s a free, open source program you can download on GitHub. Within a few days, I was navigating the system, feeding it old time favorites to churn out dozens of stems of music with a stylistic twist (think Mary Had a little Lamb done in the style of a Peruvian Waltz?)

Takeaway: I was delighted to see the results of mixing various data inputs with unexpected genres, which also made me more aware of the underlying influences governing my own creative ideas. Because the output is MIDI (whereas Amper is a finished WAV or MP3 file), the artist has complete freedom over how the notes are transposed into instrumentation. I found my love of synthesizers by placing them on unlikely styles of music, and my first track with Watson Beat will likely be released this summer.

  1. Google Magenta: like Watson, Magenta is free and open source on Github. Some tools have easy front-facing interfaces (i.e. AI Duets) and others require a bit more back-end coding knowledge. What’s cool is the scope and number of tools that Google offers in its arsenal. Probably the most robust program for programmers.

Takeaway: With Magenta’s tools, you don’t have to solely focus on composition, you can also analyze sound. NSynth, for instance, allows you to combine the sounds of two different instruments (try mixing a cat with a harp!) Google has algorithms for studying sound tone and vibrational quality, which has many exciting applications.

It’s no surprise that AI elicits a lot of questions about our “specialness” as humans…but perhaps we’re focusing on the wrong argument. Humans always evolve with technology, and it’s what we choose to do with AI that matters. I believe that this is just the tip of the iceberg – and it will unlock creativity we can’t yet imagine.

For the budding enthusiast who lacks formal music training, AI can be a compelling tool – not just for learning, but as an entry-point for self-expression. Now anyone, anywhere, has the ability to create music – and that desire and ability to express is what makes us human.


Source: TechCrunch

Esta es la línea recta más larga que se puede navegar sin tocar tierra

Unos investigadores han encontrado esta ruta utilizando un algoritmo al que han añadido un truco matemático. También han dado con el camino recto más largo que se puede seguir sin alcanzar agua
Source: MIT

Visite la realidad aumentada creada por sus amigos con esta 'app'

La aplicación para ‘smartphone’ Ubiquity permite colocar objetos virtuales en el mundo real y hace que permanezcan allí para que otro usuario también pueda verlos con su teléfono. Es una ventana que abre un montón de posibilidades para la RA, pero que también entraña riesgos
Source: MIT

Así revolucionará 'blockchain' el sector de la manufactura

Un nuevo prototipo utiliza las cadenas de bloques para mejorar máquinas y procesos de fabricación. Esta tecnología podría agilizar procedimientos y trámites administrativos, abaratar costes y proteger mejor la información 
Source: MIT

What we can learn from the 3,500 Russian Facebook ads meant to stir up U.S. politics

On Thursday, Democrats on the House Intelligence Committee released a massive new trove of Russian government-funded Facebook political ads targeted at American voters. While we’d seen a cross section of the ads before through prior releases from the committee, the breadth of ideological manipulation is on full display across the more than 3,500 newly released ads — and that doesn’t even count still unreleased unpaid content that shared the same divisive aims.

After viewing the ads, which stretch from 2015 to late 2017, some clear trends emerged.

Russia focused on black Americans

Many, many of these ads targeted black Americans. From the fairly large sample of ads that we reviewed, black Americans were clearly of particular interest, likely in an effort to escalate latent racial tensions.

Many of these ads appeared as memorials for black Americans killed by police officers. Others simply intended to stir up black pride, like one featuring an Angela Davis quote. One ad posted by “Black Matters” was targeted at Ferguson, Missouri residents in June 2015 and only featured the lyrics to Tupac’s “California Love.” Around this time, many ads targeted black Facebook users in Baltimore and the St. Louis area.

Some Instagram ads targeted black voters interested in black power, Malcolm X, and the new Black Panther party using Facebook profile information. In the days leading up to November 8, 2016 other ads specifically targeted black Americans with anti-Clinton messaging.

Not all posts were divisive (though most were)

While most ads played into obvious ideological agendas, those posts were occasionally punctuated by more neutral content. The less controversial or call-to-action style posts were likely designed to buffer the politically divisive content, helping to build out and grow an account over time.

For accounts that grew over the course of multiple years, some “neutral” posts were likely useful for making them appear legitimate and build trust among followers. Some posts targeting LGBT users and other identity-based groups just shared positive messages specific to those communities.

Ads targeted media consumers and geographic areas

Some ads we came across targeted Buzzfeed readers, though they were inexplicably more meme-oriented and not political in nature. Others focused on Facebook users that liked the Huffington Post’s Black Voices section or Sean Hannity.

Many ads targeting black voters targeted major U.S. cities with large black populations (Baltimore and New Orleans, for example). Other geo-centric ads tapped into Texas pride and called on Texans to secede.

Conservatives were targeted on many issues

We already knew this from the ad previews, but the new collection of ads makes it clear that conservative Americans across a number of interest groups were regularly targeted. This targeting concentrated on stirring up patriotic and sometimes nationalist sentiment with anti-Clinton, gun rights, anti-immigrant and religious stances. Some custom-made accounts spoke directly to veterans and conservative Christians. Libertarians were also separately targeted.

Events rallied competing causes

Among the Russian-bought ads, event-based posts became fairly frequent in 2016. The day after the election, an event called for an anti-Trump rally in Union Square even as another ad called for Trump supporters to rally outside Trump tower. In another instance, the ads promoted both a pro-Beyoncé and anti-Beyoncé event in New York City.

Candidate ads were mostly pro-Trump, anti-Clinton

Consistent with the intelligence community’s assessment of Russia’s intentions during the 2016 U.S. election, among the candidates, posts slamming Hillary Clinton seemed to prevail. Pro-Trump ads were fairly common, though other ads stirred up anti-Trump sentiment too. Few ads seemed to oppose Bernie Sanders and some rallied support for Sanders even after Clinton had won the nomination. One ad in August 2016 from account Williams&Kalvin denounced both presidential candidates and potentially in an effort to discourage turnout among black voters. In this case and others, posts called for voters to ignore the election outright.

While efforts like the Honest Ads Act are mounting to combat foreign-paid social media influence in U.S. politics, the scope and variety of today’s House Intel release makes it clear that Americans would be well served to pause before engaging with provocative, partisan ideological content on social platforms — at least when it comes from unknown sources.


Source: TechCrunch

SongTrust has inked deals with over 150,000 songwriters for royalties management

The music industry is finally seeing some daylight after years of sales declines and revenue attrition. As industry organizations announce year-on-year growth, songwriters are turning to royalty management organizations like SongTrust in increasing numbers. In just under a year SongTrust added 50,000 songwriters, 5,000 publishers, and now represents 1 million copyrights. The company said that one-in-five new professional songwriters are using SongTrust’s platform.

Signs of the music industry’s comeback are everywhere, SongTrust noted. They’re visible in the 8.1 percent increase in global recorded music revenues; in the second straight year that the German publishing rights body, GEMA, topped 1 billion Euros in revenue; and in the record financial results recorded by the PRS for Music — an increase of 14.7 percent over 2016.

More good news is coming to songwriters and rights holders in the form of the Music Modernization Act that’s now making its way through Congress.

Technology is something that the music industry’s back end has sorely needed. Performers, producers and songwriters avail themselves of the latest technologies in the studios and stages around the world and are then reduced to Excel spreadsheets and outmoded tracking systems to follow their songs through various distribution channels. And digital technologies like sampling, and distribution platforms like Spotify and others have complicated the process even further.

There’s a whole range of tools that are coming to market to help professionalize the back end of the industry, so that artists can get paid their fair share.

Songtrust was born out of Downtown Music Publishing, a publishing and rights management firm that manages rights for artists, such as Frank Sinatra, One Direction and Santigold. 


Source: TechCrunch

Spotify removes R. Kelly from playlists as part of new ‘hateful conduct’ policy

Spotify has a new policy that covers not just “hate content” but also “hateful conduct” outside the music itself. And at least two artists have already been culled from playlists as a result.

To be a clear, Spotify is making a distinction between hate content, which it says it will “remove … whenever we find it,” and music by artists who may have done morally or legally questionable things. Here’s how the company describes its approach in these situations:

We don’t censor content because of an artist’s or creator’s behavior, but we want our editorial decisions — what we choose to program — to reflect our values. When an artist or creator does something that is especially harmful or hateful (for example, violence against children and sexual violence), it may affect the ways we work with or support that artist or creator.

So Billboard has confirmed that starting today, listeners will no longer find songs by R. Kelly on Spotify’s playlists, whether they’re editorially curated or created algorithmically. (A number of women have accused Kelly of sexual abuse, though he has denied the allegations.) The publication also confirmed that rapper XXXTentacion had been removed from the high-profile Rap Caviar playlist.

In theory, this seems like a reasonable balance between not wanting to remove artists from the platform entirely and not wanting the apperance of tacitly endorsing reprehensible behavior. (Putting someone on a high-profile Spotify playlist really is a big deal, with hit-making power.)

But as others have pointed out, this could also put Spotify in the position of making a lot of tricky calls, since there are plenty of other musicians who have been accused of (or convicted of, or admitted to) some pretty bad stuff.

Spotify may find itself in a similar situation to YouTube, which also tried to crack down on objectionable content (and become more advertiser-friendly) by setting a higher bar for creator monetization. In theory, it was the right decision, but it also led to plenty of creator complaints and a bit of course correction.


Source: TechCrunch

Kilauea and the Implacable Power of Volcanic Lava

The Hawaiian volcano continues to erupt. There’s not much anyone can do about it except watch.
Source: Wired

Everything you need to know about Discord, the chat app for gamers

Here’s what you need to know about Discord, video game-focused voice and chat app that gamers are using to set up games and chat. We’ll explain everything, including where to get it and how to create your own server.

The post Everything you need to know about Discord, the chat app for gamers appeared first on Digital Trends.


Source: Digital trends

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637