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

Archivo del Autor: Belen De Leon

Former Dropbox exec Dennis Woodside joins Impossible Foods as its first President

Former Google and Dropbox executive Dennis Woodside has joined the meat replacement developer Impossible Foods as the company’s first President.

Woodside, who previously shepherded Dropbox through its initial public offering, is a longtime technology executive who is making his first foray into the food business.

The 25-year tech industry veteran most recently served as the chief operating officer of Dropbox, and previously was the chief executive of Motorola Mobility after that company’s acquisition by Google.

“I love what Impossible Foods is doing: using science and technology to deliver delicious and nutritious foods that people love, in an environmentally sustainable way,” Woodside said. “I’m equally thrilled to focus on providing the award-winning Impossible Burger and future products to millions of consumers, restaurants and retailers.”

According to a statement, Woodside will be responsible for the company’s operations, manufacturing, supply chain, sales, marketing, human resources and other functions.

The company currently has a staff of 350 divided between its Redwood City, Calif. and Oakland manufacturing plant.

Impossible Foods now slings its burger in restaurants across the United States, Hong Kong, Macau and Singapore and is expecting to launch a grocery store product later this year.


Source: TechCrunch

Telegram gets 3M new signups during Facebook apps’ outage

Messaging platform Telegram claims to have had a surge in signups during a period of downtime for Facebook’s rival messaging services.

In a message sent to his Telegram channel, founder Pavel Durov’s just wrote: “I see 3 million new users signed up for Telegram within the last 24 hours.”

It’s probably not a coincidence that Facebook and its related family of apps went down for most of Wednesday, as we reported earlier. At the time of writing Instagram’s service has been officially confirmed restored. Unofficially Facebook also appears to be back online, at least here in Europe.

Durov doesn’t offer an explicit explanation for Telegram’s sudden spike in sign ups, but he does take a thinly veiled swipe at social networking giant Facebook — whose founder recently claimed he now plans to pivot the ad platform to ‘privacy’.

“Good,” adds Durov on his channel, welcoming Telegram’s 3M newbies. “We have true privacy and unlimited space for everyone.”

A contact at Telegram confirmed to TechCrunch that the Facebook apps’ downtime is the likely cause of its latest sign up spike, telling us: “These outages always drive new users.”

Though they also credited growth to “the mainstream overall increasing understanding about Facebook’s abusive attention harvesting practices”.

A year ago Telegram announced passing 200M monthly active users. Though the platform has faced restrictions and/or blocks in some markets (principally Russia and Iran, as well as China) — apparently for refusing government requests for encryption keys and/or user information.

In Durov’s home country of Russia the government is also now moving to tighten Internet restrictions via new legislation — and thousands of people took to the streets in Moscow and other Russian cities this weekend to protest at growing Internet censorship, per Reuters.

Such restrictions could increase demand for Telegram’s encrypted messaging service in the country as the app does appear to still be partially accessible there.

Durov, who famously left Russia in 2014 — stepping away from his home country and an earlier social network he founded (VK.com) because of his stance on free speech — has sought to thwart the Russian government’s Telegram blocks via legal and technical measures.

The Telegram messaging platform has of course also had its own issues with less political downtime too.

In a tweet last fall the company confirmed a server cluster had gone down, potentially affecting users in the Middle East, Africa and Europe. Although in that case the downtime only lasted a few hours.


Source: TechCrunch

Rakuten TV expands to 42 European countries, gets direct button on Samsung, LG, Philips and Hisense remotes

Rakuten TV, the Japanese e-commerce giant’s effort to take on Netflix and Amazon in the world of video streaming, has been a minor player when it comes to market share for online entertainment, with a mere 7 million users of its service. But today, it’s unveiling two key pieces of news that it hopes will help reverse that. The company is adding 30 new countries in Europe where the service will operate, bringing the total across the region and Japan to 42. And it’s inked a deal with big names in connected TV entertainment systems — specifically Samsung, LG, Philips and Hisense — to embed a dedicated “Rakuten TV” button on their remotes.

The two moves together underscore how Rakuten may not have been among those riding the wave as video streaming has exploded in popularity — compare its 7 million users with the 139 million users Netflix reported in its most recent earnings — but it does not seem ready to throw in the towel on it, either.

“We are here to continue running the marathon,” Jacinto Roca, the CEO of Rakuten TV, said in an interview this week. “This is another step for us to become a global player in this industry.”

It’s about time that Netflix and Amazon had some competition in the over-the-top video market — that is, video entertainment delivered to consumers over their existing broadband connections to compete with costly cable or satellite packages — but if they are perhaps some of the most obvious competition, they’re not the only ones. Apple, Google, a number of content owners themselves, and device makers all believe they have a shot at muscling in and becoming the go-to destination for consumers’ video entertainment needs.

Rakuten TV in some ways looks directly like the Japanese e-commerce company’s answer to Amazon’s video service: both have moved into the area as a natural extension of their e-commerce businesses, which sell consumer electronics and already have extensive operations around content — namely books and e-books, and both would have already build a lot of the infrastructure needed to run these services as a by-product of those e-commerce operations. And, alongside other Rakuten-owned assets like Viber and Ebates, this is one more move by the company to diversify not just its revenues and services, but the ecosystem in which customers are interacting with its brand.

But Rakuten TV has taken a different approach in at least three important ways. The first of these is in how it prices the service. There are no monthly subscriptions, and people watch and pay for movies on an a la carte basis. Roca said that this is unlikely to change anytime in the future. 

“We think that the simplicity of our offer is one of the key value propositions for us so we have no plans to introduce monthly bundles,” he said. He added that in the case of Rakuten TV the company has found that customers watch more than one movie per month, and when you look at the average prices of its films — promotions might come in (in the UK) at 99 pence for one film, but a top release like the Crimes of Grindlewald costs £13.99 to view — “that is definitely a healthy ARPU for us,” he said. “The focus today is making sure that we have people enjoying at least one movie per month on our platform.”

He notes that the economics are ironically trickier in bundles for popular providers where multiple views are happening under one price, which can impact the margins on the overall service. (Something that has been argued with music streaming, too.)

The second area where Rakuten TV is trying to stand apart from others in the streaming video space is its decision not to create original content, or at least not on any scale. The company last year put out a film that it produced, Hurricane, which Roca described to me as an “experiment.”

“We will do three or four more films this year, to start learning about production, but we have no big strategy behind this right now,” he said, noting that content providers have some regulatory requirements in Europe to also contribute investment to grow the content production industry locally in the face of over-domination from the US. “It’s more an experiment, with but no strategic initiative.”

Content efforts can run into the hundreds of millions or even billions in terms of investment, as they collectively had for Rakuten TV’s competitors, and while there is clearly some glory and cred that comes with that, for a smaller player it may not be a tenable option given the challenges of distribution. It also puts Rakuten into a better bargaining position with other content rightsholders, who will not eye it as a rival for eyeballs who might also use their own might as a bargaining chip when agreeing on licensing.

That brings us to the third area where Rakuten is trying to be a bit different, and one excuse of Roca’s for why the company has taken so long to expand to more countries: localization. He says that Rakuten TV will stand out from the field by offering a wider and better selection of content for each local market, using data to see not just what locals like to watch on TV, but what were popular cinematic releases that Rakuten should definitely try to get for those markets. This takes time, he said.

I have to admit there is something to this: if you have ever travelled to various far-flung places and attempted to watch Netflix or Amazon Prime Video, you might notice that not only do you get a much more limited choice of titles, but they are nearly the same from country to country and put a heavy emphasis on the services’ original content — likely one other reason why they have created it in the first place, to populate their services without having to do lots of tricky licensing deals.

In any case, Rakuten is putting investment in another, more basic area first before it can start to double down more on original content. The company is not disclosing how much it had to pay the smart TV makers to create a button on their remotes, but said that it made the investment based on strong results on existing handsets from Roku and Hisense.

“We’ve had buttons on those for a couple of years, and we can see that we are bringing in new users from those buttons,” Roca said. “So after two years with those, we decided it was the right moment to invest and go into brands that have big market shares in Europe.” He says this will give Rakuten TV potentially access to buttons on TVs from providers that collectively have a 35 percent market share in the region. Of course, getting people handsets with those Rakuten buttons is predicated on consumers actually buying new TVs, so this is a bet that very much has yet to pay off.

The investment in smart TV placement is notable also because at the same time, Rakuten is not expanding its presence in any notable way on mobile. That also is down to data, Roca said: today, some 60 percent of its content is consumed on smart TVs. The company also touts that it has the largest catalog of 4K HDR movies in Europe and is about to start trialling 8K.

Looking forward, Roca said that Rakuten TV’s plan is to enter completely different markets now that it has largely covered Europe. That will include, most likely, Latin America, which has a cultural and linguistic synergy with Spain, the home market of Rakuten TV (the Japanese giant spearheaded its TV strategy around its 2012 acquisition of Wuaki.tv, founded by Roca, which it eventually rebranded). And it is also looking at which markets it might target in Asia. Another Rakuten acquisition, of Viki, which provides crowdsourced subtitles for online videos, could play a key part of its strategy in Asia, where Viki has a large usage base.

 


Source: TechCrunch

Laptop displays are notorious for draining batteries. Intel may have a solution

Intel has leveraged smartphone display technology and a handful of other innovations to create Low Power Display Technology (LPDT) panels that cut display power use in half.

The post Laptop displays are notorious for draining batteries. Intel may have a solution appeared first on Digital Trends.


Source: Digital trends

Samsung begins production on new 12GB RAM chips for phones – CNET

The next-generation chips are made with a 10nm process and take up less space in phones compared than previous versions.
Source: CNET

Pi dream: Googler sets record for most digits calculated – CNET

Celebrate Pi Day with trillions of new pi digits.
Source: CNET

China's food delivery apps worked with 35,000 illegal restaurants – CNET

These restaurants weren’t properly licensed to operate or were using fake licenses to sell food.
Source: CNET

Google removed 2.3B bad ads, banned ads on 1.5M apps + 28M pages, plans new Policy Manager this year

Google is a tech powerhouse in many categories, including advertising. Today, as part of its efforts to improve how that ad business works, it provided an annual update that details the progress it’s made to shut down some of the more nefarious aspects of it.

Using both manual reviews and machine learning, in 2018, Google said removed 2.3 billion “bad ads” that violated its policies, which at their most general forbid ads that mislead or exploit vulnerable people. Along with that, Google has been tackling the other side of the “bad ads” conundrum: pinpointing and shutting down sites that violate policies and also profit from using its ad network: Google said it removed ads from 1.5 million apps and nearly 28 million pages that violated publisher policies.

On the more proactive side, the company also said today that it is introducing a new Ad Policy Manager in April to give tips to publishers to avoid listing non-compliant ads in the first place.

Google’s ad machine makes billions for the company — more than $32 billion in the previous quarter, accounting for 83 percent of all Google’s revenues. Those revenues underpin a variety of wildly popular, free services such as Gmail, YouTube, Android and of course its search engine — but there is undoubtedly a dark side, too: bad ads that slip past the algorithms and mislead or exploit vulnerable people, and sites that exploit Google’s ad network by using it to fund the spread of misleading information, or worse.

Notably, Google’s 2.3 billion figure is nearly 1 billion less ads than it removed last year for policy violations. The lower numbers might be attributed to two things. First, while the ad business continues to grow, that growth has been slowing just a little in competition with other players like Facebook and Amazon. Second — and this one gives the benefit of the doubt to Google — you could argue that it has improved its ability to track and stop these ads before they make their way to its network.

The more cynical question here might be whether Google removed less ads to improve its bottom line. But in reality, remaining vigilant about all the bad stuff is more than just Google doing the right thing. It’s been shown that some advertisers will walk away rather than be associated with nefarious or misleading content. Recent YouTube ad pulls by huge brands like AT&T, Nestle and Epic Games — after it was found that pedophiles have been lurking in the comments of YouTube videos — shows that there are still more frontiers that Google will need to tackle in the future to keep its house — and business — in order.

For now, it’s focusing on ads, apps, website pages, and the publishers who run them all.

On the advertising front, Google’s director of sustainable ads, Scott Spencer, highlighted ads removed from several specific categories this year: there were nearly 207,000 ads for ticket resellers, 531,000 ads for bail bonds and 58.8 million phishing ads taken out of the network.

Part of this was based on the company identifying and going after some of these areas, either on its own steam or because of public pressure. In one case, for ads for drug rehab clinics, the company removed all ads for these after an expose, before reintroducing them again a year later. Some 31 new policies were added in the last year to cover more categories of suspicious ads, Spencer said. One of these included cryptocurrencies: it will be interesting to see how and if this one becomes a more prominent part of the mix in the years ahead. 

Because ads are like the proverbial trees falling in the forest — you have to be there to hear the sound — Google is also continuing its efforts to identify bad apps and sites that are hosting ads from its network (both the good and bad).

On the website front, it created 330 new “detection classifiers” to seek out specific pages that are violating policies. Google’s focus on page granularity is part of a bigger effort it has made to add more page-specific tools overall to its network — it also introduced page-level “auto-ads” last year — so this is about better housekeeping as it works on ways to expand its advertising business. The efforts to use this to ID “badness” at page level led Google to shut down 734,000 publishers and app developers, removing ads from 1.5 million apps and 28 million pages that violated policies.

Fake news also continues to get a name check in Google’s efforts.

The focus for both Google and Facebook in the last year has been around how its networks are used to manipulate democratic processes. No surprise there: this is an area where they have been heavily scrutinised by governments. The risk is that, if they do not demonstrate that they are not lazily allowing dodgy political ads on their network — because after all those ads do still represent ad revenues — they might find themselves in regulatory hot water, with more policies being enforced from the outside to curb their operations.

This past year, Google said that it verified 143,000 election ads in the US — it didn’t note how many it banned — and started to provide new data to people about who is really behind these ads. The same will be launched in the EU and India this year ahead of elections in those regions.

The new policies it’s introducing to improve the range of sites it indexes and helps people find are also taking shape. Some 1.2 million pages, 22,000 apps and 15,000 sites were removed from its ad network for violating policies around misrepresentative, hateful or other low-quality content. These included 74,000 pages and 190,000 ads that violated its “dangerous or derogatory” content policy.

Looking ahead, the new dashboard that Google announced it would be launching next month is a self-help tool for advertisers: using machine learning, Google will scan ads before they are uploaded to the network to determine whether they violate any policies. At launch, it will look at ads, keywords and extensions across a publisher’s account (not just the ad itself).

Over time, Google said, it will also give tips to the publishers in real time to help fix them if there are problems, along with a history of appeals and certifications.

This sounds like a great idea for ad publishers who are not in the market for peddling iffy content: more communication and quick responses are what they want so that if they do have issues, they can fix them and get the ads out the door. (And that, of course, will also help Google by ushering in more inventory, faster and with less human involvement.)

More worrying, in my opinion, is how this might get misused by bad actors. As malicious hacking has shown us, creating screens sometimes also creates a way for malicious people to figure out loopholes for bypassing them.


Source: TechCrunch

Google blocked 2.3 billion bad ads for tickets, garage doors, tech support in 2018 – CNET

That’s 900 million fewer ads than it blocked last year — but twice as many advertisers and publishers.
Source: CNET

Google is reportedly shutting down its in-house VR film studio

Google is shutting down its Emmy Award-winning VR film division, Spotlight Stories, after six years of building out content, Variety reports.

We’ve reached out to Google for confirmation.

“Google Spotlight Stories means storytelling for VR. We are artists and technologists making immersive stories for mobile 360, mobile VR and room-scale VR headsets, and building the innovative tech that makes it possible,” the group’s site reads.

The Spotlight Stories team was part of the company’s Advanced Technologies and Products (ATAP) group. Much like Facebook’s ill-fated Oculus Story Studio, there was never a big focus on monetizing what was being created internally.

The studio’s best-received work, “Pearl,” was nominated for an Academy Award and won an Emmy in 2017. The group also worked with Wes Anderson to bring a VR behind-the-scenes featurette on the making of his film “Isle of Dogs.” In November, the group released its last major work, “Age of Sail,” a narrative film that could be watched on mobile and high-end VR systems.

Google has made significant investments in AR and VR, but has allowed competitors like Facebook and Apple to surpass their consumer efforts.

Google’s efforts on its VR program went full throttle in 2016 and early 2017 while the company sought to keep pace with Samsung which was aggressively hocking mobile hardware it had built alongside Oculus. It’s rumored the company made significant changes to its immersive divisions after Apple introduced ARKit in mid-2017, aggressively shifting resources from its VR division to AR projects like its ARCore mobile augmented reality platform.

The company has not updated its Daydream View VR headset since 2017, the company has ceded most of its ground to Oculus as its allowed products like Lenovo’s Daydream View to die on the shelf as its failed to make updates to its platform or direct significant resources to bringing new content on board. Now, with the reported shutdown of Spotlight Stories, the company is now making it clear that they don’t think building their own content is the right approach either.


Source: TechCrunch

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412