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

Archivo del Autor: Belen De Leon

Selfie app maker Meitu eyes overseas gaming market with $340 million deal

China’s largest selfie app maker Meitu has been busy working to diversify itself beyond the beauty arena in China. On Wednesday, the Hong Kong-listed company announced in a filing that it has agreed to pay about HK$2.7 billion ($340 million) for a 31 percent stake in game publishing company Dreamscape Horizon.

Dreamscape Horizon, a subsidiary of Hong Kong-listed games group Leyou, specializes in making video games for personal computers and consoles and owns 97 percent of Canada-based studio Digital Extremes. This global connection will potentially hasten Meitu’s overseas expansion and the foray into games, on the other hand, will help the Xiamen-based firm capture more male users. (Operating out of Xiamen might have also been convenient for Meitu to meet the coastal city’s booming hub of game developers.) Out of Meitu’s 110 million monthly active users overseas, only 30 million are male.

“The collaboration with Leyou is not only focused on mainland China but also the global market,” says a Meitu spokesperson in a statement. “Mainland China currently accounts for the majority of Meitu’s earnings. The acquisition will broaden our business scope and diversify the geographic streams of our income.”

The overseas move appears to be a tactful one as the domestic gaming market is crowded with established players like Tencent, NetEase and hundreds of smaller contenders. The local environment has also turned hostile to gaming companies as Beijing steps up scrutiny amid concerns of titles being violent and harmful to young players. The result was a months-long halt in game approvals that dragged down Tencent’s stock prices and prompted a major reshuffle in the giant. And before long Tencent announced it would deepen its ties with Garena to distribute games in Southeast Asia. The hiatus ended in December, but companies are still feeling the chill as China is reportedly mulling a further pause this week.

Meitu is most famous for its suite of photo-editing and beautifying apps, but hardware has been its major income source for years. For the first half of 2018, the company generated 72 percent of its revenues from selling smartphones optimized for taking selfies, a category proven popular in a country where touched-up photos have become the norm. But Meitu’s hardware business is shrinking as smartphone shipment slows in China and phones from mainstream brands like Xiaomi and Huawei now come equipped with filters. It has, however, found a new home for its barely mainstream smartphone brand after Xiaomi gobbled it up in November to lure more female users.


Source: TechCrunch

Why Daimler moved its big data platform to the cloud

Like virtually every big enterprise company, a few years ago, the German auto giant Daimler decided to invest in its own on-premises data centers. And while those aren’t going away anytime soon, the company today announced that it has successfully moved its on-premises big data platform to Microsoft’s Azure cloud. This new platform, which the company calls eXtollo, is Daimler’s first major service to run outside of its own data centers, though it’ll probably not be the last.

As Daimler’s head of its corporate center of excellence for advanced analytics and big data Guido Vetter told me, that the company started getting interested in big data about five years ago. “We invested in technology — the classical way, on-premise — and got a couple of people on it. And we were investigating what we could do with data because data is transforming our whole business as well,” he said.

By 2016, the size of the organization had grown to the point where a more formal structure was needed to enable the company to handle its data at a global scale. At the time, the buzzword was ‘data lakes’ and the company started building its own in order to build out its analytics capacities.

Electric Line-Up, Daimler AG

“Sooner or later, we hit the limits as it’s not our core business to run these big environments,” Vetter said. “Flexibility and scalability are what you need for AI and advanced analytics and our whole operations are not set up for that. Our backend operations are set up for keeping a plant running and keeping everything safe and secure.” But in this new world of enterprise IT, companies need to be able to be flexible and experiment — and, if necessary, throw out failed experiments quickly.

So about a year and a half ago, Vetter’s team started the eXtollo project to bring all the company’s activities around advanced analytics, big data and artificial intelligence into the Azure Cloud and just over two weeks ago, the team shut down its last on-premises servers after slowly turning on its solutions in Microsoft’s data centers in Europe, the U.S. and Asia. All in all, the actual transition between the on-premises data centers and the Azure cloud took about nine months. That may not seem fast, but for an enterprise project like this, that’s about as fast as it gets (and for a while, it fed all new data into both its on-premises data lake and Azure).

If you work for a startup, then all of this probably doesn’t seem like a big deal, but for a more traditional enterprise like Daimler, even just giving up control over the physical hardware where your data resides was a major culture change and something that took quite a bit of convincing. In the end, the solution came down to encryption.

“We needed the means to secure the data in the Microsoft data center with our own means that ensure that only we have access to the raw data and work with the data,” explained Vetter. In the end, the company decided to use thethAzure Key Vault to manage and rotate its encryption keys. Indeed, Vetter noted that knowing that the company had full control over its own data was what allowed this project to move forward.

Vetter tells me that the company obviously looked at Microsoft’s competitors as well, but he noted that his team didn’t find a compelling offer from other vendors in terms of functionality and the security features that it needed.

Today, Daimler’s big data unit uses tools like HD Insights and Azure Databricks, which covers more than 90 percents of the company’s current use cases. In the future, Vetter also wants to make it easier for less experienced users to use self-service tools to launch AI and analytics services.

While cost is often a factor that counts against the cloud since renting server capacity isn’t cheap, Vetter argues that this move will actually save the company money and that storage cost, especially, are going to be cheaper in the cloud than in its on-premises data center (and chances are that Daimler, given its size and prestige as a customer, isn’t exactly paying the same rack rate that others are paying for the Azure services).

As with so many big data AI projects, predictions are the focus of much of what Daimler is doing. That may mean looking at a car’s data and error code and helping the technician diagnose an issue or doing predictive maintenance on a commercial vehicle. Interestingly, the company isn’t currently bringing any of its own IoT data from its plants to the cloud. That’s all managed in the company’s on-premises data centers because it wants to avoid the risk of having to shut down a plant because its tools lost the connection to a data center, for example.


Source: TechCrunch

eMarketer predicts digital ads will overtake traditional spending in 2019

This is the year when the money spent on digital advertising will finally overtake spending on traditional ads — at least according to the latest forecast from eMarketer.

The research firm is predicting that U.S. digital ad spend will increase 19.1 percent this year, to $129.3 billion, while traditional advertising will fall 19 percent, to $109.5 billion. That means digital will account for 54.2 percent of the total, while traditional will only represent 45.8 percent.

Not surprisingly, most of the digital ad money is going to Google and Facebook . However, eMarketer says Google’s share of the market will actually decline, from 38.2 percent last year to 37.2 percent this year, and Facebook’s share will only grow slightly, from 21.8 percent to 22.1 percent.

emarketer forecast

Apparently, Amazon is the main beneficiary here, with its U.S. ad business set to expand by more than 50 percent, accounting for 8.8 percent of total spend.

“The [Amazon] platform is rich with shoppers’ behavioral data for targeting and provides access to purchase data in real-time,” said eMarketer forecasting director Monica Peart in a statement. “This type of access was once only available through the retail partner, to share at their discretion. But with Amazon’s suite of sponsored ads, marketers have unprecedented access to the ‘shelves’ where consumers are shopping.”

The firm also forecasts that by 2023, digital will account for more than two-thirds of total ad spending.


Source: TechCrunch

2019 BMW X2 M35i first drive review: High-riding hot hatch – Roadshow

BMW calls its X2 a sporty crossover, and it’s an entertaining hot hatchback in M35i guise.
Source: CNET

Resooma launches Resooma Bills to help ‘generation rent’ manage household expenditure

Resooma, the U.K. accommodation booking platform, is entering the fintech and utilities space with the launch of Resooma Bills, a new product to help “gen rent” manage household expenditure. The Cardiff, Wales-based company’s core offering is an accommodation marketplace primarily targeting students and other renters aged 18-30.

Previously trading under the brand name of University Cribs, Resooma was founded in 2014 by Jack Jenkins, Dan Jefferys and Christian Samuel as a solution aimed specifically at the student lettings market. The company has since broadened its remit to “fix the outdated methods” of renting a home and living together in shared accommodation.

“The existing processes, much of which [are] sitting offline, was a total mess and the numbers of people who have to experience it is climbing rapidly,” says co-founder Jenkins. “With more people living in shared accommodation post University life, we aim to appeal to a time constrained user base that want instant gratification from the products and services they use. We’re building a solution for generation rent”.

As a first step, Resooma set out to eradicate the viewing process, or at least make it digital, and help facilitate bookings online. This includes rolling out “VR tours” for homes, in a bid to gain the trust of renters booking online. “Student and young professionals are time sensitive, often nomadic in choosing where they work and live and as such our platform needs to cater for this,” says Jenkins. The startup also has plans to introduce rental guarantees and “Resooma Verified” stamps for rentals.

“Interestingly, we brand ourselves as a booking platform, a relatively unused term in the market we are in. People are used to booking directly on platforms for short-term accommodation, with the rise of Airbnb and Booking.com but our goal is to make this the norm for people renting medium or longer term homes,” adds the Resooma co-founder.

Jenkins says the next problem the company wants to solve is around utilities and the splitting of household bills. “We’ve all sat there in our new home, admiring the wall paper for the first 2 weeks while we wait for the internet or Sky TV to be set up. It’s brainless really, and we’re fixing it,” he says.

“Our product journey will put utilities as part of the rental transaction, allowing users to set up their household bills directly through the platform at the time of booking. What’s more, we’ll allow you to split these bills evenly between all tenants. No more arguments because Tom didn’t pay for his share of the internet bill. Our solution will track utility payments, aim to source the cheapest deals for our customers and then automatically issue each of the housemates one single bill each month for their share of the total house bills.

“While part of the full product vision of Resooma, Resooma Bills will sit as a standalone product as well to allow users the flexibility to use the service for homes found away from the Resooma platform”.

Asked to name Resooma’s competitors, Jenkins says the likes of Spotahome or Uniplaces are probably its most direct competition from a product perspective. “We differentiate ourselves through our adaptation of the utilities, as well as our focus on working with letting agents rather than directly with Landlords,” he says.

With regards to utilities and bill splitting, London-based Acasa could also been considered a very direct competitor.


Source: TechCrunch

German insurance giant Allianz increases its VC fund to $1.1 billion

Allianz X, the venture capital arm attached to German insurance giant Allianz, has increased the size of its fund to €1 billion, around $1.1 billion, according to an announcement made today. The fund was initially €430 million, or around $490 million, when it launched in 2016.

This new injection comes directly from parent Allianz SE, the 124-year-old insurer which did €130 billion ($150 billion) in revenue last year, and it makes Allianz X one of the largest active startup investment vehicles in Europe. While it is anchored in Europe, the fund’s investment thesis and focus is very much a global one with a focus on verticals including fintech, health, mobility, data and cybersecurity.

It has made 15 deals to date with a focus on growth-stage investments in startups such as emerging market-focused microinsurance company BIMA, Southeast Asian ride-hailing unicorn Go-Jek, U.S-based capital marketplace C2FO and European challenger bank N26.

Allianz X, which initially began as an in-house incubation venture, is now looking to go after more of the same with its enlargened kitty but it also plans to get to work with its existing portfolio of companies.

“Since shifting our strategy, we have built a great portfolio in which many companies have already developed successful partnerships with Allianz’s business units. We are very excited about raising our investment budget to €1 billion and will use the funds entrusted to us to both strengthen our portfolio and build strong, global platforms that create new businesses for Allianz,” Dr. Nazim Cetin, CEO of Allianz X, said in a statement.

Beyond potentially supplying more capital to its existing investors — it isn’t clear whether Allianz X is a part of the new financing round that Go-Jek is raising, for example — the fund is keen to identify areas where its business units can add value both for the portfolio startups and the Allianz business itself. And, with a network of offices that spans more than 70 countries, there’s plenty of scope for collaboration.

In Indonesia, for example, Allianz has worked with Go-Jek to offer insurance to the ride-hailing company’s drivers that is payable at an affordable daily rate. That, both of them claim, has helped give many families health insurance for the first time whilst of course growing the Allianz Indonesia business by tapping into Go-Jek’s driver base which, the company says, covers “millions” of Indonesians. That’s one part of Go-Jek’s fintech strategy, which includes relationships with some 28 financial institutions to provide access to financial services and other products.

Indeed, Allianz X said it has developed dedicated operational capabilities to replicate that type of collaboration across its portfolio.

“Our work with portfolio companies is focused on developing mutually beneficial strategic partnerships between the portfolio company and one or more Allianz operating entities and global business lines. Each investment has a dedicated team at Allianz X that assists the company with joint corporate development initiatives and implements them alongside the Allianz business unit,” a spokesperson told TechCrunch.


Source: TechCrunch

Binance releases a first version of its decentralized crypto exchange

Binance, the world’s largest crypto exchange, has launched an initial version of its highly-anticipated decentralized trading service (dex) today which is available now at testnet.binance.org.

The launch — which is initially a testnet as the URL suggests — has been a long time coming and it is designed to complement the main Binance exchange, which does around $1 billion in daily trading volumes according to data from CoinMarketCap.com.

That core service is centralized, like most others, meaning that the exchange manages its customers’ fiat or cryptocurrency balance for them. Centralized exchanges also set the price, pick the selection of assets on offer and make money from transaction fees. Some see that as necessary but others disagree. Ethereum creator Vitalik Buterin went so far as to say that centralized exchanges should “burn in hell” for their controlling position.

That, as seasoned crypto traders will tell you, leaves customers open to loses from hacks, shutdowns or other kinds of unexpected issues. Common advice is for users to take control of their own cryptocurrency and manage it via a wallet. That’s where a dex comes into play because it allows users to trade directly from their wallet, as opposed to the cumbersome exercise of transferring tokens into an exchange to trade and then withdrawing them afterward. So the Binance dex is a direct complement to its centralized exchange and it gives customers more options.

Binace also claims that it offers speed.

“Binance Chain has near-instant transaction finality, with one-second block times. This is faster than other blockchains today,” said Binance CEO Changpeng “CZ” Zhao in a statement. “With the core Binance Chain technology, Binance DEX can handle the same trading volume as Binance.com is handling today. This solves the issues many other decentralized exchanges face with speed and power.”

The Binance decentralize exchange

Zhao has also touted the dex as a new revenue driver for the company since it sits on Binance’s own blockchain with the company operating a number of nodes itself. Zhao previously told TechCrunch that when its nodes are used in transactions, the company will gain some of the network fee. Not that Binance needs help making money; a recent report from The Block suggested it made a profit of $446 million in 2018, a year that was most definitely a downer for the crypto industry across the board.

We do have one concern about the Binance Dex, however, and that is that it includes an option to unlock a wallet using a private key.

Pasting a private key into a browser is a major no-no in crypto circles. Users are encouraged to avoid this option for unlocking a wallet since there are a plethora of alternative options that include Metamask — a popular browser extension with over a million users — hardware devices such as Ledger, Trezor or Yubikey and — more recently — authentication apps from the likes of MyEtherWallet or Parity Signer.

Of those secure options, the Binance Dex currently supports Ledger (the hardware and app), but the other options are KeyStore file upload or the less-secure private key or mnemonic phrase.

While you can argue that the onus is on the user when it comes to private keys, service providers do have a responsibility.

Many, including Zhao, commonly claim that crypto adoption is in its early days while terms like ‘education’ and ‘democratization’ are repeated often by many in the space. Removing the private key, and thus limiting potential phishing attacks, would seem to be a part of educating new users and helping make crypto safe for others who join.

It may seem far fetched, but the phishing threat is very real. Leading wallet MyCrypto.com said it had been hit by attacks regularly, including a hijack on its Amazon DNS servers, while MyEtherWallet was hit at least twice last year as attackers went after its DNS and phished other users by compromising a free VPN service.

As a result, MyCrypto dropped the private key option from its primary web-based service.

“We’re removing support for private keys on the web version of MyCrypto because it’s not safe — and we encourage others to follow suit,” the company wrote in a Medium post.

But others haven’t followed, perhaps aware that removing the private key entry mechanism would mean many that users opt for alternatives were unlocking their wallet is easier.

MyEtherWallet, which competes directly with MyCrypto, has a strong warning around its private key entry option while Binance, to its credit, is warning dex users that using a private key or mnemonic phrase to unlock their wallet means there’s “a much higher chance [of losing them] due to phishing websites or applications.”

There is a positive. Binance said it plans to add the option to unlock a wallet on the dex using Trust Wallet, the mobile app it acquired last year.

“We’re working toward decentralized accessibility to cryptocurrency. We want users to have full control over their private keys, and easy access to decentralized applications, to maximize the potential and mainstream adoption of cryptocurrency. Binance DEX is one step further to realizing our vision for greater freedom of money,” Viktor Radchenko, the founder of Trust Wallet, said in a statement.

That would certainly be a major step forward for tightening security. Still, it is somewhat disappointing that Binance hasn’t taken a stand here. It certainly has the clout to send a major message out to the industry and cut down on potential phishing attacks.


Source: TechCrunch

Captain Marvel reactions are in and it's pure '90s fun for Marvel fans – CNET

Brie Larson in a Nine Inch Nails T-shirt? We are *so* there.
Source: CNET

SpaceX gets $300 million from Defense Department – CNET

The US Air Force awards Elon Musk’s space company a grant for reconnaissance missions.
Source: CNET

Image recognition startup ViSenze raises $20M Series C

ViSenze, a startup that provides visual search tools for online retailers like Rakuten and ASOS, announced today that it has raised a $20 million Series C. The round was co-led by Gobi Ventures and Sonae IM, with participation from other backers including returning investors Rakuten and WI Harper.

Founded in 2012, ViSenze has now raised a total of $34.5 million (its last round was a Series B announced in September 2016). The Singapore-based company, whose clients also include Urban Outfitters, Zalora, and Uniqlo, bills its software portfolio as a “personal shopping concierge” that allows shoppers to find or discover new products based on visual search, automatic photo tagging, and recommendations based on their browsing history. ViSenze’s verticals include fashion, jewelry, furniture, and intellectual property.

ViSenze’s latest funding will be used to develop its software through partnerships with smartphone makers including Samsung, LG, and Huawei. The company has offices in Asia, Europe, and the United States, and claims an annual revenue growth rate of more than 200 percent. Other startups in the same space include Syte.ai, Slyce, Clarifai, and Imagga.

In a statement, Rakuten Ventures partner Adit Swarup said “When we first invested in ViSenze in 2014, retailers had just started seeing the benefits of powering product recommendations with image data. Today, ViSenze not only powers recommendations for the largest brands in the world, but has helped pioneer a paradigm shift in e-commerce; helping consumers find products inside their favorite social media videos and images, as well as initiate a search directly from their camera app.”

Other participants in the round included returning investors Singapore Press Holdings (SPH) Ventures, Raffles Venture Partners, Enspire Capital, and UOB Venture Management, as well as new investors Tembusu ICT Fund, 31Ventures Global Innovation Fund, and Jonathan Coon’s Impossible Ventures.


Source: TechCrunch

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458