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

Archivo del Autor: Belen De Leon

The web will soon be a little safer with the approval of this new security standard

Hear that? It’s almost as if thousands of spooks and hackers suddenly cried out at once… The Internet Engineers Task Force has just unanimously approved a security framework that will make encrypted connections on the web faster and more resistant to snooping.

It’s called Transport Layer Security version 1.3, and while it’s not a big flashy event, it very much is the kind of iterative improvement that keeps the web working in the face of malicious actors everywhere. The IETF is a body of engineers from all over the world who collaborate on standards like this — and their approval of TLS 1.3 has been long in coming, more than four years and 28 drafts.

That’s because the internet is a delicate machine and changes to its fundamental parts — such as how a client and server establish a secure, encrypted connection — must be made very, very carefully.

Without going too deep into the technical details (I’d be lost if I tried), TLS 1.3 makes a few prominent changes that should keep you safe.

  • The “handshake” between client and server has been streamlined and encryption initiated earlier to minimize the amount of data transmitted in the clear.
  • “Forward secrecy,” meaning hackers can’t skim decryption keys from one exchange and use it to decrypt others later.
  • “Legacy” encryption algorithms have been removed as options, as these could occasionally be forced into use and their shortcomings leveraged to break the cipher on messages.
  • A new “0-RTT,” or zero round-trip time, mode in which the server and client that have established some preliminaries before can get right to sending data without introducing themselves to each other again.

The whole standard is 155 pages long, and really only other engineers will want to dig in. But it’s available here if you’d like to peruse it or go into detail on one of the new features.

It doesn’t magically take effect, of course — but the IETF approval is a big step towards the standard being adopted by big companies, web services, and other, higher-level standards. You probably won’t even notice when it does come into play, but that’s how it’s supposed to happen. Just be sure to thank a network engineer or cryptographer next time you see one.


Source: TechCrunch

Why did my iPhone stop working with my BMW? – Roadshow

Short answer: BMW is from Venus, Apple is from Mars.
Source: CNET

Watch Alexa rap with Too Many T’s in this interactive music video

Alexa can already sing and rap, but now she’s the star of a new music video by the English rap duo Too Many T’s. The London-based rappers this week released an interactive video that lets Alexa sing along by triggering with voice commands, then pausing while she answers. The result is essentially a duet between Alexa and Too Many T’s that you can listen to at home using your own Alexa device, when played within earshot of your sound system’s speakers or some other source of audio.

In the video below, Too Many T’s explain how the interactive experience works and demo it with an Echo Dot.

If you don’t have an Echo device of your own, this would be the one to watch:

However, if you do have an Echo or some other Alexa-powered speaker, you’ll want to play the “Home” version of the song instead.

This is the version where they’ve left openings in the song for your own Echo to respond to the various triggers.

To try this out for yourself, you’ll need a voice device that responds to the name “Alexa” (not “computer” or “Amazon” if you’ve changed it). And you’ll need to set your device to U.S. English.

In the video, Alexa is asked questions like, “what’s 250 million times 0.004?” and “Alexa, can you sing in auto-tune?” (She can, and it’s awesome.)

And she’s told, “Alexa, high-five,” among other things.

The video cleverly wraps by commanding your Alexa to play the Too Many T’s song “South City Court.”

Good one, guys.

Happy Friday.

(h/t: AFTVNews


Source: TechCrunch

Oh hai Spectral Slug: AI makes new Dungeons & Dragons monsters – CNET

Research scientist Janelle Shane trains a neural network to create D&D monsters. Behold Hatfright, Giant Fraithwarp, Wendless Woll and Marraganralleraith.
Source: CNET

IPOs are back, but for how long?

The first quarter is almost over, and despite Dropbox’s splashy debut on the public market earlier today, it was preceded by just two other U.S. tech companies to IPO in 2018: Cardlytics and Zscaler. 

Will Dropbox turn things around? Will the fact that Spotify is readying its debut get the momentum going at long last?

It all depends on how Dropbox and Spotify perform and how they impact what’s known as the IPO window. When new issuers perform well, it typically swings wide open. When they don’t, well, it gets slammed shut.

At this point, it’s been four years since we had an IPO window big enough for a stream of companies to pass through. In 2013, 50 tech companies went public. In 2014, the number was 62. Things grew chillier after that, with just 31, 26 and 27 companies getting out the window in 2015, 2016 and 2017, respectively.

Why haven’t things warmed up again, particularly with a stunning 171 venture-backed “unicorns” waiting in the wings?

Some high-profile flops are one large factor. Last year, venture-backed darlings like Blue Apron and Snapchat braved the public markets, but it was public shareholders who had to keep a stiff upper lip as their shares abruptly sputtered. These kinds of scenarios can seriously spook pipeline companies and their advisors, particularly in the world of consumer tech.

The availability of late-stage capital is also making it far easier to stay private longer. With SoftBank’s $100 billion Vision Fund writing enormous checks to growth startups — and traditional venture funds reacting by raising their own gigantic venture funds — this trend is only expected to continue.

There are also plenty of sky-high valuations to consider. Startups were able to command numbers that weren’t necessarily tied to reality in 2014 to 2015. That makes the prospect of a public offering, at a potentially much smaller valuation, something to be put off as long as possible.

Still, IPO insiders think things shifted once again — that a growing number of companies will have the wind at their backs in 2018. They point to strong signals like Zscaler doubling on its first day of trading and Dropbox pricing above its IPO range as favorable signs of what’s to come. Indeed, they say that behind the scenes, a lot of prep work has already set the stage.

“The number of tech companies, across the spectrum, now meeting with (if not engaging) bankers and working with the auditors to be ‘IPO ready’ is very definitely on the upswing,” says Lise Buyer, an IPO consultant and partner at Class V Group. The “window is already wide open, and there is enormous pent-up demand at institutions for new companies that are priced reasonably.”

John Tuttle, global head of listings at the New York Stock Exchange, similarly says he expects “a strong year if market conditions hold constant.” He characterizes the pipeline for technology offerings as “strong,” particularly enterprise technology companies.

Tuttle also notes the growing number of far-flung tech companies looking to list their share in the U.S. Among these are three China-based companies with plans to raise hundreds of millions of dollars by selling American depositary shares in the not-too-distant future, including Bilibili, a nine-year-old, Shanghai, China-based anime video sharing platform; iQiyi, an eight-year-old Beijing-based video streaming service; and OneSmart, a 10-year-old, Shanghai, China-based K-12 after-school education provider.

Hardware-maker Xiaomi is expecting to stage a public offering both in the U.S. and in Hong Kong this year, too.

That’s saying nothing of the Canadian and Latin American companies that are offering shares to U.S. investors. Among them: Brazil’s payments business PagSeguro Digital; it went pubic in January on the NYSE.

So who’s next? Following Dropbox and Spotify, Zuora, the 11-year-old, cloud subscription management platform, has finally filed to go public. Another company to just file is Pivotal Software, a spinoff of EMC and VMware. DocuSign is on file confidentially. We’re also hearing that quite a few other enterprise technology companies are gearing up to go public.

Just don’t expect to see big consumer tech companies like Airbnb, Uber and Pinterest listing in 2018. A lot of these decacorns” are planning to debut next year at the earliest, partly because they’ve raised enough money that they can’t afford to make mistakes at this point.

They’ve raised enough money that they can wait, too. That means the rest of us will have to wait alongside them.

 


Source: TechCrunch

Huawei thinks Apple and Samsung stores are good places for ads – CNET

Commentary: In the UK, the Chinese gadget company thinks it wise to park large trucks with mobile ads for its P20 phone in strategic places.
Source: CNET

This MIDI-powered robotic music box is the good news I needed this week

It’s been a bit of a tumultuous week, to put it lightly, but one must always remember that no matter how dire things look on the global stage, there are always makers working obsessively to create something beautiful and useless — like this MIDI-driven, robotic music box.

Tinkerer and music box aficionado Mitxela (via Hackaday) was pleased by this music box that takes punch cards or rolls as input, rather than having a metal drum with the notes sticking out of it. But who wants to punch cards all day to make a music box go? These things are supposed to be simple!

Mitxela first made a script that takes a MIDI file and outputs an image compatible with his laser cutter, allowing cards or paper strips to be created more or less automatically. But then there’s the question of wear and tear, storing the strips, taping them together for long pieces… why not just have the MIDI controller drive the music box directly?

It clearly took some elbow grease, but he managed to create a lovely little machine that does just that. The MIDI pattern maps to a set of small servos, each of which is attached to a rigid brass wire and plastic tip. When the servo activates, the tip pushes the corresponding little cylinder in the music box, producing a note.

Now MIDI files (single-instrument ones, anyway) can be played directly. But there’s more! Mitxela’s efforts to lower the power draw and simplify the mechanisms had the incidental side effect of lowering the latency so much that you can even play the music box in real time using a MIDI keyboard. How delightful!

The video has quite a few breaks to listen to video game themes, so if you’re just interested in the device, you can skip through to the (relatively) technical parts. But hearing the Mario theme tinkling through a neat little gadget like this isn’t the worst way to spend a Friday afternoon after a week like this one.

You can check out the rest of Mitxela’s little hardware projects at his website.


Source: TechCrunch

House and Senate put Zuckerberg on notice: “You are the right person to testify before Congress”

Facebook CEO Mark Zuckerberg has been rather scarce lately, despite a host of woes besetting his company — but Wednesday he emerged from his cocoon to offer a limp apology, admit they had no control over data like that used by Cambridge Analytica, and that he “will happily” testify before Congress if he’s the right person to do so.

Well, Congress has taken him at his word. “You are the right person to testify before Congress,” wrote the leaders of the House Energy and Commerce Committee in a letter detailed early this morning. His capacity as CEO and “the employee who has been the leader of Facebook through all the key strategic decisions since its launch” make him the best person to testify.

Earlier this week Senators Klobuchar (D-MN) and Kennedy (R-LA) from the Senate Judiciary Committee specifically asked for Zuckerberg as well.

Senator Kennedy had sharp words (in a CNN interview) for Facebook and other tech companies that sent along some smooth operators to talk to them back in November: “We had one hearing — they all sent their lawyers. I don’t know what they paid them but they got their money’s worth, cause their lawyers didn’t say a damn thing.”

He and others are asking that the man himself come along.

The Senate Commerce Committee also desires his presence.

At this point it would be pretty dangerous for Zuckerberg not to heed the call. Lawmakers don’t take kindly to captains of industry who send underlings instead of tackling major issues like this personally.

As the Open Markets Institute’s Matt Stolller points out in an insightful tweet storm, however, the shortcomings of Facebook’s privacy rules are only part of the story. Once Congress has Zuckerberg in the hot seat, they might consider taking on the idea that Facebook has been playing news organizations and publishers like a fiddle.


Source: TechCrunch

Drew Houston on wooing Dropbox’s IPO investors: ‘We don’t fit neatly into any one mold’

Dropbox went public this morning to great fanfare, with the stock shooting up more than 40% in the initial moments of trading as the enterprise-slash-consumer company looked to convince investors that it could be a viable publicly-traded company.

And for one that Steve Jobs famously called a feature, and not a company, it certainly was an uphill battle to convince the world that it was worth even the $10 billion its last private financing round set. It’s now worth more than that, but that follows a long series of events, including an increased focus on enterprise customers and finding ways to make its business more efficient — like installing their own infrastructure. Dropbox CEO Drew Houston acknowledged a lot of this, as well as the fact that it’s going to continue to face the challenge of ensuring that its users and enterprises will trust Dropbox with some of their most sensitive files.

We spoke with Houston on the day of the IPO to talk a little bit about what it took to get here during the road show and even prior. Here’s a lightly-edited transcript of the conversation:

TC: In light of the problems that Facebook has had surrounding user data and user trust, how has that changed how you think about security and privacy as a priority?

DH: Our business is built on our customers’ trust. Whether we’re private or public, that’s super important to us. I think, to our customers, whether we’re private or public doesn’t change their view. I wouldn’t say that our philosophy changes as we get to bigger and bigger scale. As you can imagine we make big investments here. We have an awesome security team, our first cultural principle is be worthy of trust. This is existential for us.

TC: How’s the vibe now that longtime employees are going to have an opportunity to get rewarded for their work now that you’re a public company?

DH: I think everyone’s just really excited. This is the culmination of a lot of hard work by a lot of people. We’re really proud of the business we’ve built. I mean, building a great company or doing anything important takes time.

TC: Was there something that changed that convinced you to go public after more than a decade of going private, and how do you feel about the pop?

DH: We felt that we were ready. Our business was in great shape. We had a good balance of scale and profitability and growth. As a private company, there are a lot of reasons why it’s been easier to stay private for longer. We’re all proud of the business we’ve built. We see the numbers. We think we’re on to not just a great business, but pioneering a whole new model. We’re taking the best of our consumer roots, combining them with the best parts of software as a service, and it was really gratifying to see investors be excited about it and for the rest of the world to catch on.

TC: As you were on your road show, what were some of the big questions investors were asking?

DH: We don’t fit neatly into any one mold. We’re not a consumer company, and we’re not a traditional enterprise company. We’re basically taking that consumer internet playbook and applying it to business software, combining the virality and scale. Over the last couple years, as we’ve been building that engine, investors are starting to understand that we don’t fit into a traditional mold. The numbers speak to themselves, they can appreciate the unusual combination.

TC: What did you tell them to convince them?

DH: We’re just able to get adoption. Just the fact that we have hundreds of millions of users and we’ve found Dropbox is adopted in millions of companies [was enough evidence]. More than 300,000 of those users are Dropbox Business companies. We spend about half on sales of marketing as a percentage of revenue of a typical software as a service company. Efficiency and scale are the distinctive elements, and investors zero in on that. To be able to acquire customers at that scale and also really efficiently, that’s what makes us stand out. They’ve seen Atlassian be successful with self-serve products, but you can layer on top of that leveraging our freemium and viral elements and our focus on design and building great products.

TC: How do you think about deploying the capital you’ve picked up from the IPO?

DH: So, we’re public because they wanted us to be a public company. But our approach is still the same. First, it’s about getting the best talent in the building and making sure we build the best products, and if you do those things, make sure customers are happy, that’s what works.

TC: What about recruiting?

DH: It’s a big day for dropbox. We’re all really excited about it and hopefully a lot of other people are too.

TC: When you look at your customer acquisition ramp, what does that look like?

DH: I mean, we’ve been making a lot of progress in the past couple of years if you look at growth in subscribers. That will continue. We look at numbers, we have 11 million subscribers, 80% use dropbox for work. But at the same time, we look at the world, there’s 1 billion knowledge workers and growing. We’re not gonna run out of people who need Dropbox.

TC: What about convincing investors about the consumer part of the business? How did you do that?

DH: I think, when you explain that our consumer and cloud storage roots have really become a way for us to efficiently acquire business customers at scale, that helps them understand. Second, it’s easy to focus on how in the consumer realm that the business has been commoditized. There’s all this free space and all this competition. On the other hand, we’ve never lowered prices, we’ve never even given more free space, we know that what our customers really value is the sharing and collaboration, not just the storage. It’s been good to move investors beyond the 2010 understanding of our business.

TC: How did creating your own infrastructure play into your readiness to go public?

DH: When I say that today is the culmination of a lot of events, that’s a great example. We made a many-year investment to migrate off the public cloud. Certainly that was one of the more eye-popping investors watching our gross margins literally double over the last couple of years from burning cash to being cash flow positive. We’ll continue reaching larger and larger scale, and those investments will.

TC: Getting a new guitar any time soon?

DH: I probably should.


Source: TechCrunch

Eye Tracking Is Coming to Virtual Reality Sooner Than You Think. What Now?

This week made it clear that the technology is racing into to our consumer immersive-tech devices. But with great power comes great responsibility.
Source: Wired

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083