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

Archivo del Autor: Belen De Leon

How to Take Better Photos on Your Phone

Give the ‘gram a boost with these tips from professional photographers.
Source: Wired

CyPhy Wants to Set Drones Free by Tying Them to the Ground

A tether connecting a drone to the ground liberates the aircraft from reliance on short-lived batteries, allowing it to stay aloft for weeks at a time.
Source: Wired

If You Drive in Los Angeles, Palantir and LAPD Are Watching

Records show police agencies tap license-plate readers hundreds of thousands of times a year.
Source: Wired

China’s NetEase raises $600M for its music streaming business

As Tencent Music, China’s largest streaming firm, reportedly stalls on its proposed U.S. IPO, one of its closest challengers is doubling down.

NetEase Cloud Music, a rival operated by games and publishing giant NetEase, just closed a fresh $600 million injection from a bevy of investors that include Baidu and General Atlantic, the company announced this week.

NetEase will maintain a majority share in the company following this deal although it isn’t clear what the valuation is. The business is already valued at over $1 billion, that landmark was reached last year when it raised 750 million RMB, that was around $108 million at the time.

Tencent Music operates a constellation of streaming and live-streaming music apps which Tencent claims reach a cumulative audience of 800 million users. That’s quite a generous figure since China’s official stat keeper recognizes that the country has 800 million internet users, and it seems unlikely that any single business would be able to reach every single one of them. (Yes, stats can often lie.) 

Five-year-old NetEast Cloud Music, meanwhile, says it reaches 600 million users, a figure that it claims has increased by 200 million over the past year. With this new money in the bank, the company said it plans to go after more user growth and develop its platform, which includes over 10 million songs. The company has put focus on independent music, and it claims 1.2 million tracks from around 70,000 indie musicians.

Tencent, which has a tie-in with Spotify, submitted documents last month to go public via a U.S. IPO that could raise at least $1 billion. However, the Wall Street Journal reported a week later that the process had been paused amid challenging market conditions which saw stocks sink, including those of Tencent and Alibaba. The plan was to resume the process this month, according to the report, but so far there has been no update from the company.

Alibaba’s Xiami music service is widely considered to be another major music streaming contender in China, and it teamed up with NetEase Cloud Music earlier this year to share libraries in order grow their respective repositories of songs.

It makes sense that two rivals would team up to increase their rivalry with Tencent, which operates no fewer than four music services: Q Music, Kugou Music, Kuwo Music and WeSing.

Up for grabs is a streaming industry that, while nascent, is showing potential to grow among China’s 800 million internet users. Indeed, iResearch data cited by NetEase forecasts music spending in China to triple between 2017 and 2023. The music industry as a whole is poised to gross 376 billion RMB ($54 billion) in total sales this year with digital the fastest-growing source of income.

Tencent Music’s IPO opened the books on the leading contender in the space with some interesting points to note. Unlike Spotify and others, the business is profitable — $199 million on total sales of $1.7 billion last year — while subscriptions, the core source of revenue in the West, is just 30 percent of all sales. Instead, Tencent Music capitalizes on virtual gifts that are sent to live streamers and premium memberships.

However, the company’s revenue is well short of Spotify, which grossed $1.5 billion in its most recent quarter alone. Those in China are opting to see that gulf as an opportunity and that goes some way to explaining this new round for NetEase Cloud Music.


Source: TechCrunch

Kaspersky starts processing threat data in Europe as part of trust reboot

Security firm Kaspersky Labs has opened its first self-styled ‘Transparency Center’ and begun processing threat-related data from European users in data centers located in Switzerland — flipping the switch on the start of a relocation commitment it announced late last year in the face of suspicion that its antivirus software had been compromised by the Russian government and used to suck up US intelligence. 

The first stage of its fightback strategy to reboot trust, a code review plan, was announced a year ago.

Then, in May, the company announced it would be moving some core infrastructure processes to Zurich in Switzerland, saying also that it would arrange for its processes to be independently supervised by a third party qualified to conduct technical software reviews.

This facility has now begun processing data, starting with European users. Although this is just the start of the reconfiguration.

Software assembly will also move to Zurich in time — but not until phase two of the project, after processing for customers in other regions has also been relocated there.

It writes today:

From November 13, threat-related data coming from European users will start to be processed in two datacenters. These provide world-class facilities in compliance with industry standards to ensure the highest levels of security.

The data, which users have actively chosen to share with Kaspersky Lab, includes suspicious or previously unknown malicious files and corresponding meta-data that the company’s products send to Kaspersky Security Network (KSN) for automated malware analysis.

Files comprise only part of the data processed by Kaspersky Lab technologies, yet the most important one. Protection of customers’ data, together with the safety and integrity of infrastructure is a top priority for Kaspersky Lab, and that is why the file processing relocation comes first and is expected to be fully accomplished by the end of 2019. The relocation of other types of data processed by Kaspersky Lab products, consisting of several kinds of anonymized threat and usage statistics, is planned to be conducted during later phases of the Global Transparency Initiative.

By the end of 2019 the company has said the Zurich facility will be storing and processing all information for users in Europe, North America, Singapore, Australia, Japan and South Korea, with more countries slated to follow in future. Kaspersky is not exiting Russia entirely, though, as products for the Russian market will continue to be developed and distributed out of Moscow.

The Zurich Transparency Center will also provide authorized partners with access to reviews of Kaspersky code, and software updates and threat detection rules — as well as functioning as a secure location where governments and partners can come and ask questions and review documentation.

We’d wager journalists will also be invited on inspection tours.

Commenting in a statement, CEO Eugene Kaspersky claims: “Transparency is becoming the new normal for the IT industry — and for the cybersecurity industry in particular.”

“We are proud to be on the front line of this process. As a technological company, we are focused on ensuring the best IT infrastructure for the security of our products and data, and the relocation of key parts of our infrastructure to Switzerland places them in one of the most secure locations in the world,” he goes on, reiterating that the the intent of the Global Transparency Initiative is to increase “the resilience and visibility of our products”.

Which of course sounds a lot better than saying it’s responding to a trust crisis.

“Through the new Transparency Center, also in Switzerland, trusted partners and governments will be able to see external reviews of our products and make up their own minds. We believe that steps such as these are just the beginning – for the company and for the security industry as a whole. The need to prove trustworthiness will soon become an industry standard,” he adds.

Kaspersky says it has engaged “one of the Big Four professional services firms” to conduct an audit of its engineering practices around the creation and distribution of threat detection rule databases — “with the goal of independently confirming their accordance with the highest industry security practices”.

We’ve asked which third party has been selected to oversee the facility.

“The assessment will be done under the SSAE 18 standard (Statement of Standards for Attestation Engagements). The scope of the assessment includes regular automatic updates of antivirus records, created and distributed by Kaspersky Lab for its products operating on Windows and Unix Servers. The company is planning the assessment under SSAE 18 with the issue of the SOC 2 (The Service and Organization Controls) report for Q2 2019,” it further notes.

A year ago the security firm also announced a hike in its bug bounty rewards — saying it would now pay up to $100K per discovered vulnerability in its main Kaspersky Lab products.

Since then it says it has fixed more than 50 bugs reported by security researchers, claiming several were “acknowledged to be especially valuable”.


Source: TechCrunch

Sojern raises another $120M led by TCV to expand its travel marketing platform

Travel continues to be one of the biggest verticals online, projected to be worth over $1 trillion by 2022, and today a startup that helps travel-related businesses connect the dots between their products and would-be customers is raising a large round of funding to capitalise on that. Sojern, a company that works with businesses in the travel industry — hotels, airlines, tourist agencies, booking portals and others — to build and run campaigns to find and market their services to people as they are planning travel, is today announcing that it has raised another $120 million in funding.

Sojern, which started out by putting ads on boarding passes, today covers the range of places where businesses place ads to find interested “eyeballs”. Typical media it targets marketing to today includes native advertising; display, mobile and video ads; and social media. But in an interview, CEO Mark Rabe said that the plan for the funding will be to expand to more “emerging” platforms, like connected TV (where it’s already active).

“Our plan is to continue expanding solutions for existing clients as well as accelerate into developing markets like local tourism and attractions,” he said. “Overall we want to keep proving our performance as a late-stage, high-growth company with expanding profit margins and cash flow.”

The round, a Series D, is being led by Technology Crossover Ventures, a key and potentially very strategic investor since TCV has a long history of backing large travel and marketing startups, including Airbnb, Expedia, HomeAway, TripAdvisor, SiteMinder, ExactTarget, Act-On and Ariba, some of which already work with Sojern, and some who well might work with it in the future.

Other investors are not being disclosed, but Sojern has previously had backing from Norwest Venture Partners, Trident, Treeptop and other VCs; and also has a list of strategic partners, with some holding equity stakes in the business, including Alaska Airlines, American Airlines, Carlson Wagonlit, Delta Air Lines, Hawaiian Airlines, Kayak, Travelport, United Airlines and US Airways. (As we’ve pointed out before, the relationship it has with some of these stems back to the founding of the company, and part of what airlines, for example, receive is a cut on the advertising revenues that appear on their boarding passes.)

Prior to this latest round, Sojern had raised some $42.5 million. Rabe said that the company is not disclosing its valuation with this round, but as a guide, he noted that the company has been profitable for the last 13 quarters and it made $100 million in net revenues in 2017. Also of note: Sojern’s last valuation was $158 million after raising a round in 2013, according to PitchBook, so — at a very conservative estimate — its valuation post-money is around $280 million. (But my guess is that it is higher considering Sojern’s growth and profitability.)

“We’re going after a total addressable market that we believe is at least $100 billion,” he said, citing a combination of the dollars travel brands are spending in digital and programmatic advertising worth roughly $20 billion and what they’re paying to online intermediaries in the distribution markets worth $80 billion. “So far we’ve driven over $13 billion in bookings for our clients, and we aren’t slowing down anytime soon,” he added.

The company competes not just with other companies big in advertising like Google (which itself has made a very big play to do more specifically in the travel search vertical) but also other companies working in the big data-fuelled analytics space as it interests with the world of travel marketing, such as Adara.

Rabe believes Sojern is unique in the space. “We don’t see anyone out there delivering direct bookings in travel at this scale, and doing it successfully across the industry from the biggest enterprise brands all the way down to independent properties and local tourism providers,” he said.

“When we think about the competitive set, we’re looking at companies with proven business models demonstrating that they can deliver strong results at scale and retain clients over the long term. And what’s become clear is that today’s independent adtech and martech companies have to differentiate to provide value. Because Sojern has been focused on travel from the very beginning, we understand the challenges and complexities of the industry and offer more specialized solutions than a generalist player ever could.”

The predicament that it is addressing remains a messy one: from every segment of the market — from luxury down to budget travellers — we as consumers are spoiled for choice these days when it comes to thinking not just of where and how we might want to travel, but also how to find the best deals and options that match what we want to do. On the side of suppliers, they are all scrambling to connect with their would-be customers before someone else does.

Sojern says that its wider database and reach covers some 350 million travellers, making it one of the more accurate platforms to identifying and connecting with those users.

Interestingly, this could potentially one day get applied to more than just travel, but maybe not for Sojern.

“I get asked this question a lot,” Rabe said when I asked him about expanding to other areas. “But what people don’t often realize is that the travel and tourism industry is actually the largest industry in the world. Conservatively we believe our immediate total addressable market is $100 billion, and on top of that the overall industry is growing with digital continuing to pull share from offline transaction channels like phone and traditional travel agencies.”

That focus is also what attracted TCV, it seems.

“We have been watching Sojern’s rapid rise in the travel technology space for several years, and we were impressed with Sojern’s leadership position in the space and its unique, scalable model for influencing travelers worldwide,” said Woody Marshall of TCV in a statement.

“Sojern’s ability to both conceptualize a better marketing experience for travel organizations and their steady execution over the past decade, as well as their innovative business strategy, strong executive team, and inspiring company culture made them a natural fit for us.” Marshall is joining the board with this round.

 


Source: TechCrunch

Sustainable clothing startup For Days raises $2.8M for its closed-loop manufacturing process

For Days, a clothing startup that wants to reduce the enormous amount of textile waste created annually, announced today that it has raised $2.8 million in  seed funding. The round led by Rosecliff Ventures joined by Collaborative Fund, with participation from Congruent Ventures, Third Prime Capital, Closed Loop Ventures, Bleu Capital, Gramercy Fund, and Ride Ventures. For Days’ makes its clothing with a closed-loop manufacturing and recycling process enabled by a T-shirt membership programs that lets customers mail back worn shirts for recycling in exchange for new ones.

While there is a growing roster of brands focused on quality sustainable clothing, including Everlane and Alternative Apparel (and a growing community of DIYers who want to reduce their environmental and social impact by making their own clothes), a lot of wardrobe basics, like T-shirts, socks, and underwear, need to be replaced more frequently than jackets, sweaters, or jeans.

CEO Kristy Caylor, who co-founded For Days with Mary Saunders, worked at Gap and Band of Outsiders before helping launch sustainable clothing brand Maiyet. One of the reasons For Days decided to start with T-shirts (it plans to launch more product categories early next year) is “because they are one of the most historically iconic items of clothing and span generation, gender, and culture,” Caylor told TechCrunch in an email. “But ultimately, For Days is a platform for circular consumption. We will expand as far as we can innovate on materials, manufacturing and up-cycling and welcome partnerships and collaboration as we grow.”

Sustainable clothing brands like For Days are trying to solve a serious problem. According to the Environmental Protection Agency, more than 15 million tons of textile waste is generated annually in the United States and each year Americans on average throw away about 80 pounds of used clothing per person.

Even if they are diligent about donating their clothes, most of it ends up in the landfill anyway. In 2015, the EPA reported that of the 16 million tons of textile waste generated that year, only 2.45 million tons were recycled, while 10.53 million tons were thrown away. One reason recycling is not more widespread may be because the process of turning old material into new, usable textiles is still complicated, especially for blended fabrics like cotton/polyester.

To keep more items from ending up in landfills, For Days created a manufacturing and recycling program that gives it control over almost every part of an item’s lifespan. Its T-shirts are made in its Los Angeles factory from USA-grown organic cotton and sold to customers through an annual membership program that costs $38 for one T-shirt, $108 for three, $210 for six, and $340 for 10.

All levels include free shipping and unlimited “refreshes” for $8 per T-shirt, which means customers can send back their used For Days clothing in a prepaid mailer in exchange for any item on its site. The company says the average lifespan of one of its T-shirts depends on the style, but its members have been exchanging items every three to six months.

For Days recycles the used shirts by breaking them down into pulp, which is then blended with fresh organic fiber, and spun into yarn that the company says has a 70/30 blend of new and recycled fibers. That yarn is then used to make new For Days clothing.

The company launched its membership program in May 2018 to a waitlist before opening to the public in September. While For Days isn’t disclosing specific user numbers yet, Caylor says its been growing by double digits monthly. For Days claims it has moved 1,500 pounds of clothing through its closed-loop system, keeping them away from landfills, and saved more than 235,000 gallons of water and 2,400 pounds of CO2 by making their shirts out of 100 percent GOTS (Global Organic Textile Standard)-certified organic cotton.

In a press statement, Collaborative Fund managing director Taylor Greene said “Collaborative Fund began with a thesis that a sharing economy would emerge to monetize underutilized assets and ensure more efficient and sustainable consumption of resources. So far, most companies have sought to either innovate on the materials or the business model, but few have successfully combined the two. Now, more than ever, we need businesses like For Days to exist and we couldn’t be more excited to join Kristy, Mary and their team on this journey.”

In 2019, For Days has plans to design its own factory in Hawthorne, Ca and launch a zero-waste manufacturing initiative that will be built around renewable energy and water reclamation programs and biomimicry, a process that uses technology to imitate systems and materials found in nature and is being used by researchers to create more sustainable textiles and dyes.


Source: TechCrunch

How Google and Amazon Got So Big Without Being Regulated

Internet companies used to grow big and die—fast. But now a few of them are huge and entrenched, because regulators didn’t foresee their dominance.
Source: Wired

The Camp, Hill, and Woolsey Fires Are Climate Change at Work

Though we can point to a lack of rainfall to explain the devastation from the fires in California, they’re ultimately a product of a warming world.
Source: Wired

How machine learning systems sometimes surprise us

This simple spreadsheet of machine learning foibles may not look like much but it’s a fascinating exploration of how machines “think.” The list, compiled by researcher Victoria Krakovna, describes various situations in which robots followed the spirit and the letter of the law at the same time.

For example, in the video below a machine learning algorithm learned that it could rack up points not by taking part in a boat race but by flipping around in a circle to get points. In another simulation “where survival required energy but giving birth had no energy cost, one species evolved a sedentary lifestyle that consisted mostly of mating in order to produce new children which could be eaten (or used as mates to produce more edible children).” This led to what Krakovna called “indolent cannibals.”

It’s obvious that these machines aren’t “thinking” in any real sense but when given parameters and a the ability to evolve an answer, it’s also obvious that these robots will come up with some fun ideas. In other test, a robot learned to move a block by smacking the table with its arm and still another “genetic algorithm [was] supposed to configure a circuit into an oscillator, but instead [made] a radio to pick up signals from neighboring computers.” Another cancer-detecting system found that pictures of malignant tumors usually contained rulers and so gave plenty of false positives.

Each of these examples shows the unintended consequences of trusting machines to learn. They will learn but they will also confound us. Machine learning is just that – learning that is understandable only by machines.

One final example: in a game of Tetris in which a robot was required to “not lose” the program pauses “the game indefinitely to avoid losing.” Now it just needs to throw a tantrum and we’d have a clever three-year-old on our hands.


Source: TechCrunch

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368