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

Archivo del Autor: Belen De Leon

Senate votes to reverse FCC order and restore net neutrality

The Senate today voted 52-47 to disapprove the FCC’s recent order replacing 2015’s net neutrality rules, a pleasant surprise for internet advocates and consumers throughout the country. Although the disapproval will almost certainly not lead to the new rules being undone, it is a powerful statement of solidarity with a constituency activated against this deeply unpopular order.

To be clear, the FCC’s “Restoring Internet Freedom” is still set to take effect in June, but

Senate Joint Resolution 52 officially disapproves the rule under the Congressional Review Act, which allows Congress to undo recently created rules by federal agencies. It will have to pass in the House as well and then be signed by the President for the old rules to be restored.

On the other hand, forcing everyone in Congress to officially weigh in will potentially make this an issue in the upcoming midterms.

“‘Do you support net neutrality?’ Every candidate in America is going to be asked that question,” said Senator Ed Markey (D-MA) at a press conference after the vote.

Senator Schatz (D-HI) related that a Republican colleague of his told him that their office had received over 6,000 calls from people expressing support for net neutrality and the FCC’s original rules, and 10 opposed.

Until yesterday Senate Democrats, who brought the resolution, had 50 supporters including one Republican, more than enough to force the issue to be voted on, but not enough to actually pass.

Two more Republicans, Alaska’s Lisa Murowski and Louisiana’s John Kennedy joined Maine’s Susan Collins to vote aye on the measure, making the final tally 52-47.

“We salute them for their courage,” said Senate minority leader Diane Feinstein at the press conference.

FCC Commissioner Jessica Rosenworcel commended the Senate’s action.

“Today the United States Senate took a big step to fix the serious mess the FCC made
when it rolled back net neutrality late last year,” she said in a statement. “Today’s vote is a sign that the fight for internet freedom is far from over. I’ll keep raising a ruckus to support net neutrality and I hope others will too.”

Chairman Ajit Pai, however, was less congratulatory in his own statement.

“It’s disappointing that Senate Democrats forced this resolution through by a narrow margin,” he said, “But ultimately, I’m confident that their effort to reinstate heavy-handed government regulation of the Internet will fail.”

Representative Mike Doyle, who has been working on the corresponding effort in the House, said he is taking the next step.

With the Majority Leadership in the House opposed to this bill, the only way to bring it before the full House for a vote is through a discharge petition. Under the rules of the House, a bill must be brought to the House Floor for a vote if a majority of Representatives sign a discharge petition demanding it. I’m filing a discharge petition to force a vote on the legislation to save Net Neutrality, and we just need to get a majority of Representatives to sign it. I’m sure that every Member of the House will want to know where their constituents stand on this issue.

As everyone notes above, the fight continues. Be sure to contact your Member of Congress


Source: TechCrunch

Senators Grill Cambridge Analytica Whistleblower Christopher Wylie

Christopher Wylie testified before the Senate Judiciary Committee Wednesday that Cambridge Analytica specialized in “disinformation, spreading rumors, *kompromat*, and propaganda.”
Source: Wired

Food delivery’s untapped opportunity

Investors may have already placed their orders in the consumer food delivery space, but there’s still a missing recipe for solving the over $250 billion business-to-business foodservice distribution problem that’s begging for venture firms to put more cooks in the kitchen. 

Stock prices for Sysco and US Foods, the two largest food distributors, are up by over 20% since last summer when Amazon bought Whole Foods. But, these companies haven’t made any material changes to their business model to counteract the threat of Amazon. I know a thing or two about the food services industry and the need for a B2B marketplace in an industry ripe with all of our favorite buzz words: fragmentation, last mile logistics and a lack of pricing transparency.

The business-to-business food problem

Consumers have it good. Services such as Amazon and Instacart are pushing for our business and attention and thus making it great for the end users. By comparison, food and ingredient delivery for businesses is vastly underserved. The business of foodservice distribution hasn’t gotten nearly as much attention – or capital – as consumer delivery, and the industry is further behind when it comes to serving customers. Food-preparation facilities often face a number of difficulties getting the ingredients to cook the food we all enjoy.

Who are these food-preparation facilities? They range from your local restaurants, hotels, school and business cafeterias, catering companies, and many other facilities that supply to grocery markets, food trucks and so on. This market is gigantic. Ignoring all other facilities, just U.S. restaurants alone earn about $800 billion in annual sales. That’s based on research by the National Restaurant Association (the “other NRA”). Specific to foodservice distribution in the U.S., the estimated 2016 annual sales were a sizable $280 billion.

How it works today

Every one of these food-preparation facilities relies on a number of relationships with distributors (and sometimes, but rarely, directly from farms) to get their necessary ingredients. Some major national players including Sysco and US Foods mainly supply “dry goods.” For fresh meats, seafood and produce plus other artisanal goods, these facilities rely on a large number of local wholesale distributors. A few examples of wholesalers and distributors near where I live in the San Francisco Bay Area are ABS Seafood, Golden Gate Meat Company, Green Leaf, Hodo Soy and VegiWorks.

Keep in mind that the vast majority of these food-prep businesses don’t shop for ingredients the way you and I may shop for ingredients from our local supermarkets or farmer markets. There’s too little margin in food and doing so would be too costly, as well as highly inefficient (e.g., having to pay to send staff out “grocery shopping”). A few small operators do buy ingredients from wholesale chains such as Costco or Restaurant Depot. But in general, it’s way more efficient to place an order with a distributor and get the goods delivered directly to your food-prep facility.

But that’s where the problems lie. These distributors are completely fragmented, and the quality of fresh ingredients varies meaningfully from one distributor to the next. Prices fluctuate constantly, typically on a weekly basis. What’s worse is delivery timeliness, or rather the lack thereof. These distributors each employs their own delivery staff and refrigerated trucks. There is a limited number of 6 am deliveries they can make for a given delivery fleet.

As a food business operator, you may be ordering quality ingredients at the right price, but if the delivery doesn’t show up on time, you’re outta luck. You won’t be able to prepare the food in time, all the while paying for staff who are sitting around and waiting for ingredients to arrive.

As a result, you keep getting seemingly random offline pitches with promotions and price breaks from these distributors. But there’s no way to ensure timely delivery. Everybody makes verbal promises and it’s all based on who you know. Things may work for a week or two until you get “deprioritized” by one of the distributors and you have to start the process of finding the next one.

You intentionally rotate among the different distributors, just to keep them “on their toes.”

The opportunity for a food distribution platform

What’s missing is a platform that hosts a catalog of products from these distributors, with updatable availability, pricing and inventory. On it, food businesses could browse for products and place orders. Fulfillment can be done by the distributors at the beginning, but ultimately that operation may need to be done by the platform to maintain consistent quality of service. Reliable fulfillment may end up being the biggest differentiator for such a platform.

I’m aware of startups that have tried to become the dominant B2B platform for food service distribution. But it takes meaningful resources to get to critical mass and these startups tend to flame out before reaching that point. It’s not necessarily their fault for not being effective.

This industry has low margins, is slow to adopt new technologies and has many incumbent players. But the opportunity to design and execute on this platform is significant, with clear ROI as a reward and a built-in moat once it reaches critical mass.

Food-prep businesses are hungry for a better solution. And as any food entrepreneur knows, hungry customers are the best kind.


Source: TechCrunch

Watch a truly driverless car navigate city streets

Drive.ai, the company that’s gearing up to launch an autonomous ride-hailing pilot in Frisco, Texas, just released a video showing off its driverless capabilities. Drive.ai’s service will initially launch with safety drivers in July, but the goal is to ultimately operate the ride-hailing platform without a driver behind the wheel.

In the video below, you can see a Drive.ai-powered car navigate both public and private roads without even a safety driver. On the lower right hand corner, you can see an augmented reality visualization that shows how the perception system works to identify cars, pedestrians, cyclists and other objects.

Before the July launch, Drive.ai will be collecting data along the routes and working with the city to educate people about self-driving technology. During this trial period, which starts in July and will run for six months, the service will be limited to employees, residents and patrons of Hall properties. Down the road, the goal is to open up the program to all residents of Frisco.


Source: TechCrunch

Apple reportedly looks to Virginia for another US campus

It seems Virginia is for tech lovers.

According to a report in The Washington Post, Apple has been searching for places to put hubs as it contemplates how to spend the $30 billion it has committed for new facilities and 20,000 new employees in the U.S. over the next five years — and it looks like Virginia is on the list.

If Virginia makes the cut, Apple would be the second large tech company to call the state a (second or third) home, as Amazon is also reportedly looking at Virginia as a site for its second U.S. headquarters.

The Post is reporting that Apple could seek to put up to 20,000 employees in a potential Northern Virginia campus that would total 4 million square feet of office space.

Citing conversations between the company and Virginia Governor Ralph Northam, the Post reported that state officials had proposed several sites for the Apple campus, which would be two-thirds the size of the Pentagon and half of what Amazon is looking for in its new HQ.

All of the attention from Amazon and Apple speaks to the new realty for tech companies, which is that Washington, DC has its eye on them… and, conversely, these companies need to have a closer eye on Washington.

Facebook and Google, which is owned by parent company Alphabet, have both also expanded their presence in the DC area. Four years ago, Google opened new offices in the capital to much fanfare and ballyhoo, while Facebook plans to site a $1 billion data center in the Richmond area.


Source: TechCrunch

Uber’s plan to fly you around

Welcome back to CTRL+T, the TechCrunch podcast where Megan Rose Dickey and I talk about the stories we want to talk about and connect them to the culture in which we’re all trying to live.

We first tackled the flying taxi phenomenon that isn’t really a phenomenon anymore. It’s more like we’re all going to be ducking under the near-distant hum of electric vertical take-off and landing vehicles, or eVTOLs (really rolls off the tongue), sooner than later. You see, Uber already has deals with flying taxi manufacturers, electric vehicle battery and charger manufacturers and firms that want to build the “skyports” from which these things are going to have to take off and land. And the public learned all about it at Uber Elevate.

But before we talked about Uber, we spent some time discussing the inside of Megan’s mouth. Regular readers might recall a recent visit she made to Uniform Teeth to find out about the startup’s funding round. She tried out their 3D imaging tech and received some news she wasn’t quite prepared for. And recorded the audio.

It’s a rip-roaring episode, folks, so click play below to have a listen. Or better yet, subscribe on Apple PodcastsStitcherOvercastCastBox or whatever other podcast platform you can find.


Source: TechCrunch

Scientists Are Subverting Formal Publishing. Well, Some of Them

A survey shows which scientists are more likely to share their results before “official” publication.
Source: Wired

Where the Yanny and Laurel Meme Comes From

Here’s where the meme came from, what the recording is actually saying, and who recorded it in the first place.
Source: Wired

Maybach SUV to feature camera-based suspension, chauffeur mode – Roadshow

The new and improved systems could be introduced on Mercedes-Benz’s forthcoming Maybach SUV later this year.
Source: CNET

Twitter delays shutdown of legacy APIs by 3 months as it launches a replacement

Twitter is giving developers more time to adjust to its API platform overhaul, which has affected some apps‘ ability to continue operating in the same fashion. The company clarified this morning, along with news of the general availability of its Account Activity API, that it will be delaying the shutdown of some of its legacy APIs by three months’ time. That is, APIs originally slated for a June 19, 2018 shutdown – including Site Streams, User Streams, and legacy Direct Message Endpoints – will now be deprecated on Wednesday, August 16, 2018.

The news follows an announcement from Favstar that said it will end its business when the older APIs are shut down for good. And it follows the relaunched Mac app from Tweetbot, which includes a list of changes as to how the app will work when the API changes go into effect.

Twitter had said back in April that it would delay the scheduled June 19th deprecation date, but didn’t announce a new date at that time. That may have led some developers to believe that a longer reprieve was in order while Twitter rethought its plans.

Today, Twitter says that’s not the case – it’s only a three-month delay.

With the public launch of the Account Activity API, developers can transition to the new API platform.

Plus, the beta that only offered Direct Messages is being shut down on August 16th, 2018, Twitter says. (Migration details on that are here.)

Twitter is also reducing the number of subscriptions from the 35 accounts allowed during the beta to 15 free subscriptions for its Premium Sandbox of the API – the free tier meant as way for developers to experiment. The paid Premium tier offers up to 250 accounts, and Enterprise pricing is available, too. (See chart below).

But developers will have to reach out to Twitter directly to receive enterprise pricing details.

In addition, Twitter makes it clear that any apps that rely on the older Site Streams and User Streams APIs, will have to live without that functionality after August 16th. It claims this won’t affect most apps – only a small percentage.

“As a few developers have noticed, there’s no streaming connection capability or home timeline data, which are only used by a small amount of developers (roughly 1% of monthly active apps),” writes Twitter Senior Product Manager, Kyle Weiss, in a blog post. “As we retire aging APIs, we have no plans to add these capabilities to Account Activity API or create a new streaming service for related use cases.”

Boom.

Well, at least the announcement addresses developers’ complaints about a lack of information from Twitter regarding the pricing of the new APIs, and how long before all the changes kick in, given the news of a delay.

As Favstar’s creator Tim Haines explained when announcing the app’s shutdown, the lack of information made running its business too difficult.

““Twitter… [has] not been forthcoming with the details or pricing. Favstar can’t continue to operate in this environment of uncertainty,” he told TechCrunch earlier this week.

As for those 1 percent of apps that use the soon-to-be-depracated APIs – like Talon, Tweetbot, Tweetings or Twitterific – the plan was to switch over to the Enterprise Account Activity API. But they were frustrated that Twitter wasn’t saying how much it would cost; so they didn’t know if it would be an affordable option to sustain their business. It looks like they’ll now get those details.

But as those developers pointed out recently, there were broader concerns that the API changes were meant to actively discourage “client apps that mimic or reproduce the mainstream consumer client experience,” as Twitter had once said. Unfortunately for end users, the company’s decision is especially frustrating, given that Twitter shut down its native Mac app. 

It does appear that Twitter is looking to impact the functionality of these “1 percent” of apps, given that it will no longer let them stream in tweets as they’re posted (it’s making the statuses/home_timeline endpoint available instead – which is not streaming). And other notifications will be delayed by a couple of minutes, in some cases, as Tweetbot’s creator, Paul Haddad, explained yesterday.

Along with the news today, Twitter shared links to resources to help developers migrate to new APIs and learn more – including the developer portal, a migration guide, a resources page that outlines these changes, and Twitter’s community forums.

 


Source: TechCrunch

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614