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

Archivo del Autor: Belen De Leon

Fifty years of the internet

When my team of graduate students and I sent the first message over the internet on a warm Los Angeles evening in October, 1969, little did we suspect that we were at the start of a worldwide revolution. After we typed the first two letters from our computer room at UCLA, namely, “Lo” for “Login,” the network crashed.

Hence, the first Internet message was “Lo” as in “Lo and behold” – inadvertently, we had delivered a message that was succinct, powerful, and prophetic.

The ARPANET, as it was called back then, was designed by government, industry and academia so scientists and academics could access each other’s computing resources and trade large research files, saving time, money and travel costs. ARPA, the Advanced Research Projects Agency, (now called “DARPA”) awarded a contract to scientists at the private firm Bolt Beranek and Newman to implement a router, or Interface Message Processor; UCLA was chosen to be the first node in this fledgling network.

By December, 1969, there were only four nodes – UCLA, Stanford Research Institute, the University of California-Santa Barbara and the University of Utah. The network grew exponentially from its earliest days, with the number of connected host computers reaching 100 by 1977, 100,000 by 1989, a million by the early 1990’s, and a billion by 2012; it now serves more than half the planet’s population.

Along the way, we found ourselves constantly surprised by unanticipated applications that suddenly appeared and gained huge adoption across the Internet; this was the case with email, the World Wide Web, peer-to-peer file sharing, user generated content, Napster, YouTube, Instagram, social networking, etc.

It sounds utopian, but in those early days, we enjoyed a wonderful culture of openness, collaboration, sharing, trust and ethics. That’s how the Internet was conceived and nurtured.  I knew everyone on the ARPANET in those early days, and we were all well-behaved. In fact, that adherence to “netiquette” persisted for the first two decades of the Internet.

Today, almost no one would say that the internet was unequivocally wonderful, open, collaborative, trustworthy or ethical. How did a medium created for sharing data and information turn into such a mixed blessing of questionable information? How did we go from collaboration to competition, from consensus to dissention, from a reliable digital resource to an amplifier of questionable information?

The decline began in the early 1990s when spam first appeared at the same time there was an intensifying drive to monetize the Internet as it reached deeply into the world of the consumer. This enabled many aspects of the dark side to emerge (fraud, invasion of privacy, fake news, denial of service, etc.).

It also changed the nature of internet technical progress and innovations as risk aversion began to stifle the earlier culture of “moon shots”. We are currently still suffering from those shifts. The internet was designed to promote decentralized information, democracy and consensus based upon shared values and factual information. In this it has disappointed to fully achieve the aspirations of its founding fathers.

As the private sector gained more influence, their policies and goals began to dominate the nature of the Internet.  Commercial policies gained influence, companies could charge for domain registration, and credit card encryption opened the door for e-commerce. Private firms like AOL, CompuServe and Earthlink would soon charge monthly fees for access, turning the service from a public good into a private enterprise.

This monetization of the internet has changed it flavor. On the one hand, it has led to valuable services of great value. Here one can list pervasive search engines, access to extensive information repositories, consumer aids, entertainment, education, connectivity among humans, etc.  On the other hand, it has led to excess and control in a number of domains.

Among these one can identify restricted access by corporations and governments, limited progress in technology deployment when the economic incentives are not aligned with (possibly short term) corporate interests, excessive use of social media for many forms of influence, etc.

If we ask what we could have done to mitigate some of these problems, one can easily name two.  First, we should have provided strong file authentication – the ability to guarantee that the file that I receive is an unaltered copy of the file I requested. Second, we should have provided strong user authentication – the ability for a user to prove that he/she is whom they claim to be.

Had we done so, we should have turned off these capabilities in the early days (when false files were not being dispatched and when users were not falsifying their identities). However, as the dark side began to emerge, we could have then gradually turned on these protections to counteract the abuses at a level to match the extent of the abuse. Since we did not provide an easy way to provide these capabilities from the start, we suffer from the fact that it is problematic to do so for today’s vast legacy system we call the Internet.

A silhouette of a hacker with a black hat in a suit enters a hallway with walls textured with blue internet of things icons 3D illustration cybersecurity concept

Having come these 50 years since its birth, how is the Internet likely to evolve over the next 50? What will it look like?

That’s a foggy crystal ball. But we can foresee that it is fast on its way to becoming “invisible” (as I predicted 50 years ago) in the sense that it will and should disappear into the infrastructure.

It should be as simple and convenient to use as is electricity; electricity is straightforwardly available via a trivially simple interface by plugging it into the wall; you don’t know or care how it gets there or where it comes from, but it delivers its services on demand.

Sadly, the internet is far more complicated to access than that. When I walk into a room, the room should know I’m there and it should provide to me the services and applications that match my profile, privileges and preferences.  I should be able to interact with the system using the usual human communication methods of speech, gestures, haptics, etc.

We are rapidly moving into such a future as the Internet of Things pervades our environmental infrastructure with logic, memory, processors, cameras, microphones, speakers, displays, holograms, sensors. Such an invisible infrastructure coupled with intelligent software agents imbedded in the internet will seamlessly deliver such services. In a word, the internet will essentially be a pervasive global nervous system.

That is what I judge will be the likely essence of the future infrastructure. However, as I said above, the applications and services are extremely hard to predict as they come out of the blue as sudden, unanticipated, explosive surprises!  Indeed, we have created a global system for frequently shocking us with surprises – what an interesting world that could be!


Source: TechCrunch

Lyft sets $62-68 price range for its IPO to raise up to $2.1B, will trade as LYFT on Nasdaq

Ride-sharing startup Lyft, as expected, announced this morning that it is kicking off the roadshow for its IPO — setting the clock ticking for its IPO likely in the next two weeks. Around that, it also filled in some more details. The stock will trade as “LYFT” on Nasdaq, and the IPO range is currently set for between $62 and $68 per share to sell 30,770,000 shares of Class A common stock, the company said, raising up to $2.1 billion at the higher end of that range, or $1.9 billion at the lower end.

At the higher end, its valuation will be $18.1 billion, versus the projected valuation of $23 billion that we and others reported yesterday. Both would be a jump on its previous $15.1 billion valuation as of its most recent private fundraising.

Lyft also said in its updated S-1 that at the high end of the range, the maximum offering aggregate price — the maximum that it would raise at that range — will be $2,406,214,000 when considering the full range of Class A stock that will be registered, 35,385,500 shares.

(In addition to the 30,770,000 shares of Class A common stock, the company said it has an additional 4,615,500 shares in options for the underwriters, adding up to the 35 million share figure. J.P. Morgan Securities LLC, Credit Suisse Securities (USA) LLC, Jefferies LLC, UBS Securities LLC, Stifel, Nicolaus & Company, Incorporated, RBC Capital Markets, LLC and KeyBanc Capital Markets Inc. are book-running managers for the offering.)

The news kicks off the timer on Lyft’s public listing at a time when all eyes are on how ride-sharing companies will progress to the next stage of their growth, with Uber (valued at around $100 million) also expected to go public imminently.

Lyft’s revenues are growing fast — Lyft took $8.1 billion in bookings and made $2.1 billion in revenues in 2018, covering 30.7 million riders and 1.9 million drivers — but the company remains unprofitable. The company posted a net loss of $911.3 million in 2018, a figure that has grown in line with revenues, but notably shrunk proportionately. In 2016, revenues were $343.3 million while its net loss that year was $682 million.

This public listing provides a road map for how Lyft can continue to fund its operations and growth while providing liquidity for investors as it continues working on getting into the black.

Lyft said that upon completion of the IPO, CEO and cofounder Logan Green will have 29.31 percent share of the voting power of the outstanding stock, while John Zimmer, cofounder and president, will have 19.45 percent.

More to come.


Source: TechCrunch

Here's What It's Like to Accidentally Expose the Data of 230M People

The owner of Exactis, a 10-person firm that exposed a database including nearly every American, tells the story of his company’s downfall.
Source: Wired

Meet eFounders’ next batch of startups that want to redefine the future of work

European startup studio eFounders has been relentlessly building new startups over the past few years. In 2019, the company plans to launch Bonjour, a demo tool for sales teams, Chilli, a recommandation service to help small and medium companies leverage modern software-as-a-service products, and Swan, a banking API to generate banking services on demand.

If you’re not familiar with eFounders, the team regularly comes up with ideas for new software-as-a-service companies and hires founding teams. In exchange for financial and human resources, eFounders keeps a significant stake in its startups. After a year or so, startups take off on their own, raise their own rounds of funding and leave the eFounders nest.

Many SaaS companies you’ve heard about first started as an eFounders projects, such as Front, Aircall, Forest and a dozen more. eFounders says that it wants to “build the future of work”, which means building the tools and services that companies use every day.

According to eFounders, the value of the portfolio is growing quite rapidly. Companies have raised $187 million in total and have a post-money valuation of $541 million. They generate $67 million in annual recurring revenue combined.

But let’s go back to this new batch of startups. I’m sure some of them will pivot and I’m not yet familiar with their visions, but here’s what I understand they plan on doing based on public information.

Bonjour

Bonjour is all about empowering sales teams with an all-in-one service to close a deal. Instead of scheduling a video call in Google Calendar, sharing your screen for a demo in Skype, get information from your CRM and losing a lead while juggling with all those services, you can do all your work in Bonjour.

It starts with a video call service that works in your browser. Your future client can just click to join a call. Sales reps can see CRM information right from their Bonjour interface. They can also start a screensharing session to show some slides or demo an app.

But Bonjour wants to go further and take care of everything that happens before and after the demo. For instance, I’m sure you’ve seen plenty of websites with a button that says “request a demo”. At best, you can fill out a form with your contact information so that the company can contact you later. At worst, you just get a phone number or an email address. Many of your potential leads may give up.

Some companies use services like Calendly so that you can pick the right day and time in a calendar view. Bonjour lets you do the same thing and customize your forms. After the demo, you can track conversion rates and improve your sales pitch.

Chilli

Many SaaS companies sell their products to startups, big enterprise clients and everything in between. But the vast majority of companies are still small and medium businesses operating in countless of industries. Some of them have been in business for a while and are still using outdated tools.

If you’re reading TechCrunch every day and working for a startup, you might not realize what it’s like to work for an independent movie production company, a small law firm or a traditional knife making company.

Many companies still rely on an old PC tower hiding in a corner of the office with a shared hard drive. They send Excel documents back and forth, store their todo lists on a post-it note and write expense reports on paper forms.

Chilli wants to help small companies change the tools and services they’re using to run their businesses. You can’t give those companies the same sales pitch. And many SaaS companies don’t even try to sell to SMBs because it’s too costly.

That’s why Chilli isn’t just selling one product, but many different SaaS products. They can spend some time with you to understand your needs and recommend some products to increase the productivity of your company. It’s still unclear how Chilli plans to generate revenue, but it’s an interesting idea.

Swan

Details are still thin with Swan. It’s a fintech company that will let you add a banking layer to your service. The company says that you’ll be able to generate accounts, cards and IBANs on the fly.

I’m not sure how they plan to sell the product, but I think it could be particularly useful for marketplace companies and the gig economy in general. If you’re generating revenue because you’re renting your car on Drivy, delivering goods on Glovo or freelancing on Fiverr, you might want to cash out as quickly as possible. You could generate a card and spend your earnings straight from those platforms.

The ability to generate IBANs and accounts is also a great way to collect money and provide an alternative payment method in addition to card payments. But let’s see how the Swan team plans to position the product.


Source: TechCrunch

KashFlow founder Duane Jackson has launched Staffology, a payroll SaaS and API

We already knew that serial entrepreneur Duane Jackson, who is best known for founding and exiting cloud accounting software KlashFlow, was working on his third venture after recently selling Supdate to Crowdcube. And today Staffology, which Jackson tells me he began developing just over a year ago, is launching publicly.

Dubbed Staffology Payroll, the U.K. company’s first product is cloud payroll software built on top of a “comprehensive” and open API. The idea is that anything the web-based application does can also be achievable programmatically via the API.

“A few companies I advise were in need of a web-based payroll app with an API and it just didn’t exist,” explains Jackson. “Xero had been talking about an API for their U.K. payroll for years but it just didn’t look like it was happening [it is now, although it’s still in beta]. I had the opportunity to move on from Supdate which meant I would have some time on my hands, so I thought I’d give it a go myself”.

Jackson says that development of Staffology Payroll started in March 2018 and after a period of private and public beta testing it has passed the important milestone of gaining recognition for RTI and CIS filing from HMRC, the U.K.’s tax authority. The next stage is to encourage other software vendors and platforms to provide payroll functionality via the startup’s API.

“Automation of business processes is on the increase,” notes Jackson, but with regards to payroll this hasn’t yet happened for a lot of companies. “A real bottleneck is payroll because there simply aren’t the APIs out there to do it well,” he says. “It’s no longer just large employers trying to take advantage of technology and the efficiencies it can bring. Whether you’re a construction company managing payments to thousands of subcontractors or an accountancy firm managing payroll for hundreds of small businesses, integration and automation can save you a small fortune”.

To that end, the Staffology founder says the product has been used by a range of customers while in beta. Typical customers include accountants, payroll bureaus and employers of various sizes. “The white-label option is proving attractive to challenger banks looking at how our product can help them compete in the SME market and to HR SaaS vendors who hope it’ll make their own offerings more attractive,” says Jackson.

Another current customer is a large construction company that is integrating Staffology Payroll into their in-house systems to save them “days of work every month”.

Meanwhile, Staffology has been funded by Jackson’s own cash to date and he sees no reason to raise venture capital. “I made enough from my other exits to not have to worry about taking a salary from the business,” he says. “And as a full-stack developer I’m able to do the majority of the development work myself. So the costs have been minimal and what costs there have been I can comfortably cover. I’ve already had interest from a couple of VCs, but I struggle to see why I need to go down that route”.

With that said, Jackson is under no illusion that a payroll SaaS will only make significant profits with scale. Payroll processing is priced as a commodity and therefore Staffology will be a business that requires high volumes.

“Making money is the bit I still have to prove,” he adds. “The maximum you can get away with charging per payslip is £1, therefore the only way to make good money is to do very high volume. High volume payroll is exactly what APIs are best placed to handle and our product and pricing is designed to work for that market”.


Source: TechCrunch

A.I. generated text is supercharging fake news. This is how we fight back

A new A.I. tool is reportedly able to spot passages of text written by algorithm. Here’s why similar systems might prove essential in a world of fake news created by smart machines.

The post A.I. generated text is supercharging fake news. This is how we fight back appeared first on Digital Trends.


Source: Digital trends

Scientists are discovering the secrets behind whole-body DNA regeneration – CNET

A team at Harvard has released a study on panther worms which revealed a regenerative master switch called early growth response, or EGR.
Source: CNET

2020 Cadillac CT5 sedan to debut at New York Auto Show – Roadshow

Cadillac’s starting the slow social-media tease for the car today.
Source: CNET

Lyft’s imminent IPO could value the company at $23B

Ridehailing firm Lyft will make its Nasdaq debut as early as next week at a valuation of up to $23 billion, The Wall Street Journal reports. The business will reportedly price its shares at between $62 and $68 apiece, raising roughly $2 billion in the process.

With a $600 million financing, Lyft was valued at $15.1 billion in June.

Lyft filed paperwork for an initial public offering in December, mere hours before its competitor Uber did the same. The car-sharing behemoths have been in a race to the public markets, igniting a pricing war ahead of their respected IPOs in a big to impress investors.

Uber’s IPO may top $120 billion, though others have more modestly pegged its initial market cap at around $90 billion. Uber has not made its S-1 paperwork public but is expected to launch its IPO in April.

Lyft has not officially priced its shares. Its S-1 filing indicated a $100 million IPO fundraise, which is typically a placeholder amount for companies preparing for a float. Lyft’s IPO roadshow, or the final stage ahead of an IPO, begins Monday.

San Francisco-based Lyft has raised a total of $5.1 billion in venture capital funding from key stakeholders including the Japanese e-commerce giant Rakuten, which boasts a 13 percent pre-IPO stake, plus General Motors (7.76 percent), Fidelity (7.1 percent), Andreessen Horowitz (6.25 percent) and Alphabet (5.3 percent). Early investors, like seed-stage venture capital firm Floodgate, also stand to reap big returns.

Lyft will trade under the ticker symbol “LYFT.” JPMorgan Chase & Co., Credit Suisse Group AG and Jefferies Financial Group Inc. are leading the IPO.

Lyft recorded $2.2 billion in revenue in 2018 — more than double 2017’s revenue — on a net loss of $911 million.

Lyft declined to comment.


Source: TechCrunch

Captain Marvel's early suit concepts are way different to the comic – CNET

Concept artist Aleksi Briclot releases early iterations of what Brie Larson’s superhero could have looked like.
Source: CNET

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445