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

Archivo del Autor: Belen De Leon

Apple CEO Tim Cook remembers Steve Jobs 7 years after his passing – CNET

It’s hard to imagine Apple without Steve Jobs.
Source: CNET

Honda, VW are hard at work making intersections smarter – Roadshow

They aren’t working together, but both automakers have the same goals in mind.
Source: CNET

McGregor vs. Khabib fight: Start time, PPV price, how to stream, odds and more – CNET

Fight fans, get your popcorn ready.
Source: CNET

D-Wave offers the first public access to a quantum computer

Outside the crop of construction cranes that now dot Vancouver’s bright, downtown greenways, in a suburban business park that reminds you more of dentists and tax preparers, is a small office building belonging to D-Wave. This office, squat, angular, and sun-dappled one recent cool Autumn morning, is unique in that it contains an infinite collection of parallel universes.

Founded in 1999 by Geordie Rose, D-Wave company worked in relatively obscurity on esoteric problems associated with quantum computing. When Rose was PhD student at the University of British Columbia he turned in an assignment that outlined a quantum computing company. His entrepreneurship teacher at the time, Haig Farris, found the young physicists ideas compelling enough to give him $1,000 to buy a computer and a printer to type up a business plan.

The company consulted with academics until 2005 when Rose and his team decided to focus on building usable quantum computers. The result, the Orion, launched in 2007 and was used to classify drug molecules and play Sodoku. The business now sells computers for up to $10 million to clients like Google, Microsoft, and Northrop Grumman.

“We’ve been focused on making quantum computing practical since day one. In 2010 we started offering remote cloud access to customers and today, we have 100 early applications running on our computers (70% of which were built in the cloud),” said CEO Vern Brownell. “Through this work, our customers have told us it takes more than just access to real quantum hardware to benefit from quantum computing. In order to build a true quantum ecosystem, millions of developers need the access and tools to get started with quantum.”

Now their computers are simulating weather patterns and tsunamis, optimizing hotel ad displays, solving complex network problems, and, thanks to a new, open source platform, could help you ride the quantum wave of computer programming.

Inside the box

When I went to visit D-Wave they gave us unprecedented access to the inside of one of their quantum machines. The computers, which are about the size of a garden shed, have a control unit on the front that manages the temperature as well as queuing system to translate and communicate the problems sent in by users.

Inside the machine is a tube that, when fully operational, contains a small chip super-cooled to 0.015 Kelvin or -459.643 degrees Fahrenheit or -273.135 degrees Celsius. The entire system looks like something out of the Death Star – a cylinder of pure data that the heroes must access by walking through a little door in the side of a jet black cube.

It’s quite thrilling to see this odd little chip inside of its supercooled home. As the computer revolution maintained its predilection towards room-temperature chips, these odd and unique machines are a connection to an alternate timeline where physics is wrestled into submission in order to do some truly remarkable things.

And now anyone – from kids to PhDs to everyone in between – can try it.

Into the Ocean

Learning to program a quantum computer takes time. Because the processor doesn’t work like a classic universal computer you have to train the chip to perform simple functions that your own cellphone can do in seconds. However, in some cases researchers have found the chips can outperform classic computers by 3,600 times. This trade off – the movement from the known to the unknown – is why D-Wave exposed their product to the world.

“We built Leap to give millions of developers access to quantum computing. We built the first quantum application environment so any software developer interested in quantum computing can start writing and running applications — you don’t need deep quantum knowledge to get started. If you know Python, you can build applications on Leap,” said Brownell.

To get started on the road to quantum computing D-Wave build the Leap platform. The Leap is an open source toolkit for developers. When you sign up you receive one minute’s worth of quantum processing unit time which, given that most problems run in milliseconds, is more than enough to begin experimenting. A queue manager lines up your code and runs it in order received and the answers are spit out almost instantly.

You can code on the QPU with Python or via Jupiter notebooks and it allows you to connect to the QPU with an API token. After writing your code, you can send commands directly to the QPU and then output the results. The programs are currently pretty esoteric and require a basic knowledge of quantum programming but, it should be remembered, classic computer programming was once daunting to the average user.

I downloaded and ran most of the demonstrations without a hitch. These demonstrations – factoring programs, network generators, and the like – essentially turned the ideas concepts of classical programming into quantum questions. Instead of iterating through a list of factors, for example, the quantum computer creates a “parallel universe” of answers and then collapses each one until it finds the right answer. If this sounds odd it’s because it is. The researchers at D-Wave argue all the time about how to imagine a quantum computer’s various processes. One camp sees the physical implementation of a quantum computer to be simply a faster methodology for rendering answers. The other camp, itself aligned with Professor David Deutsch’s ideas presented in The Beginning of Infinity, sees the sheer number of possible permutations a quantum computer can traverse as evidence of parallel universes.

What does the code look like? It’s hard to read without understanding the basics, a fact that D-Wave engineers factored for in offering online documentation. For example, below is most of the factoring code for one of their demo programs, a bit of code that can be reduced to about five lines on a classical computer. However, when this function uses a quantum processor, the entire process takes milliseconds versus minutes or hours.

Classical

# Python Program to find the factors of a number

define a function

def print_factors(x):
# This function takes a number and prints the factors

print(“The factors of”,x,”are:”)
for i in range(1, x + 1):
if x % i == 0:
print(i)

change this value for a different result.

num = 320

uncomment the following line to take input from the user

#num = int(input(“Enter a number: “))

print_factors(num)

Quantum


@qpu_ha
def factor(P, use_saved_embedding=True):

####################################################################################################
# get circuit
####################################################################################################

construction_start_time = time.time()

validate_input(P, range(2 ** 6))

# get constraint satisfaction problem
csp = dbc.factories.multiplication_circuit(3)

# get binary quadratic model
bqm = dbc.stitch(csp, min_classical_gap=.1)

# we know that multiplication_circuit() has created these variables
p_vars = ['p0', 'p1', 'p2', 'p3', 'p4', 'p5']

# convert P from decimal to binary
fixed_variables = dict(zip(reversed(p_vars), "{:06b}".format(P)))
fixed_variables = {var: int(x) for(var, x) in fixed_variables.items()}

# fix product qubits
for var, value in fixed_variables.items():
    bqm.fix_variable(var, value)

log.debug('bqm construction time: %s', time.time() - construction_start_time)

####################################################################################################
# run problem
####################################################################################################

sample_time = time.time()

# get QPU sampler
sampler = DWaveSampler(solver_features=dict(online=True, name='DW_2000Q.*'))
_, target_edgelist, target_adjacency = sampler.structure

if use_saved_embedding:
    # load a pre-calculated embedding
    from factoring.embedding import embeddings
    embedding = embeddings[sampler.solver.id]
else:
    # get the embedding
    embedding = minorminer.find_embedding(bqm.quadratic, target_edgelist)
    if bqm and not embedding:
        raise ValueError("no embedding found")

# apply the embedding to the given problem to map it to the sampler
bqm_embedded = dimod.embed_bqm(bqm, embedding, target_adjacency, 3.0)

# draw samples from the QPU
kwargs = {}
if 'num_reads' in sampler.parameters:
    kwargs['num_reads'] = 50
if 'answer_mode' in sampler.parameters:
    kwargs['answer_mode'] = 'histogram'
response = sampler.sample(bqm_embedded, **kwargs)

# convert back to the original problem space
response = dimod.unembed_response(response, embedding, source_bqm=bqm)

sampler.client.close()

log.debug('embedding and sampling time: %s', time.time() - sample_time)

“The industry is at an inflection point and we’ve moved beyond the theoretical, and into the practical era of quantum applications. It’s time to open this up to more smart, curious developers so they can build the first quantum killer app. Leap’s combination of immediate access to live quantum computers, along with tools, resources, and a community, will fuel that,” said Brownell. “For Leap’s future, we see millions of developers using this to share ideas, learn from each other, and contribute open source code. It’s that kind of collaborative developer community that we think will lead us to the first quantum killer app.”

The folks at D-Wave created a number of tutorials as well as a forum where users can learn and ask questions. The entire project is truly the first of its kind and promises unprecedented access to what amounts to the foreseeable future of computing. I’ve seen lots of technology over the years and nothing quite replicated the strange frisson associated with plugging into a quantum computer. Like the teletype and green-screen terminals used by the early hackers like Bill Gates and Steve Wozniak, D-Wave has opened up a strange new world. How we explore it us up to us.


Source: TechCrunch

NASA says Voyager 2 may be nearing interstellar space – CNET

Voyager 1 could soon welcome its twin to the space outside our solar system.
Source: CNET

Reelgood’s app for cord cutters adds 50+ services, personalized recommendations

Reelgood, a startup aimed at helping cord cutters find their next binge, is out today with its biggest update yet. The company has been developing its streaming guide over the past year to solve the issues around discovery that exist when consumers drop traditional pay TV in favor of streaming services like Netflix, Hulu, HBO, Prime Video, and others.

The company first launched as a website in the summer of 2017 before expanding to mobile last fall. During that time, it’s grown to over a million monthly active users who now check in with Reelgood to find something new to watch.

With today’s update to its iOS app, Reelgood is adding a number of features, including personalized recommendations, curated selections, alerts for shows and movies you’re tracking, advanced search and filtering, and the ability to track content over 50 more streaming services, among other things.

As discovery is Reelgood’s focus, the updated app now offers two new types of recommendations.

One is Reelgood’s own take on “Because You Watched” – a type of viewing suggestion you’ll find today on individual services, like Netflix. But those are more limited because they’ll only suggest other shows or movies they offer themselves. Reelgood’s recommendations will instead span all the services you have access to, offering a more universal set of suggestions.

This feature is tied to Reelgood’s watch history, where you track which shows and movies you’ve seen. That means you have to use Reelgood as your tracking app as well, in order for this feature to work.

The app’s other new way of offering recommendations is less personalized – in fact, it’s random. Because sometimes serendipity is a better way to find something, a feature called “Reelgood Roulette” lets you shake your device while on the Discover tab to get a non-personalized, random suggestion.

Reelgood credits Netflix Roulette, created by Andrew Sampson, as the basis for this addition. In fact, it acquired the rights to the software last year, and then updated it to support more streaming services.

The app also now offers more powerful search and filtering capabilities involving Rotten Tomatoes, IMDb scores, plus cast and crew listings. This allows you to query up things like “Meryl Streep’s top-rated movies” or “drama series with an IMDb rating of at least 8.0 that came out in the last 3 years,” for example.

Reelgood’s search and filtering mechanisms have always been the place where it excels, but it’s less useful as a simple tracker. For that, I prefer TV Time, which lets you quickly mark entire seasons or series as “Watched” and offers discussion boards for each episode where you can post photos and memes and chat with other fans.

TV Time, however, hasn’t been as useful for making recommendations – its suggestions have been off-the-mark when I’ve tried it in the past, often leaning too heavily on network’s back catalogs than pushing me to more current or trending content. It makes me wish I could combine the two apps into one for the best of both worlds – tracking and recommendations.

The updated Reelgood app also doubles down on its own curation capabilities by offering editorial collections. For example: 2018 Emmy Nominees, IMDb’s Top 250 Movies, Original Picks, Dark Comedies, British Humour, and more. This can be a good way to find something to watch when you’re really stumped.

And as you discover new shows and movies you want to see, you can set alerts so you’ll be notified when they hit one of the streaming services you’re subscribed to, similar the tracking feature on Roku OS.

Finally, Reelgood’s update includes the addition of 50+ streaming services – that means there’s now support for more niche services like IndieFlix, FilmStruck, Shudder, Fandor, Crunchyroll, Mubi, AcornTV and Starz, among others.

“Reelgood 4.0 is the culmination of all we’ve learned about how people watch and the increasingly fragmented streaming world,” said Eli Chamberlin, Reelgood’s head of product and design. “Our aim with this release was to take all the streaming content out there, and display it in the most meaningful way possible so that people can get the most out of their existing streaming services without wasting countless hours browsing.”

The new app is rolling out to iOS today on the App Store.

 


Source: TechCrunch

A 'Scarily Simple' Bug Put Millions of Cox Communications Customers at Risk

The most straightforward insecurities can sometimes be the riskiest.
Source: Wired

California passes law that bans default passwords in connected devices

Good news!

California has passed a law banning default passwords like “admin,” “123456” and the old classic “password” in all new consumer electronics starting in 2020.

Every new gadget built in the state from routers to smart home tech will have to come with “reasonable” security features out of the box. The law specifically calls for each device to come with a preprogrammed password “unique to each device.”

It also mandates that any new device “contains a security feature that requires a user to generate a new means of authentication before access is granted to the device for the first time,” forcing users to change the unique password to something new as soon as it’s switched on for the first time.

For years, botnets have utilized the power of badly secured connected devices to pummel sites with huge amounts of internet traffic — so-called distributed denial-of-service (DDoS) attacks. Botnets typically rely on default passwords that are hardcoded into devices when they’re built that aren’t later changed by the user. Malware breaks into the devices using publicly available default passwords, hijacks the device and ensnares the device into conducting cyberattacks without the user’s knowledge.

Two years ago, the notorious Mirai botnet dragged thousands of devices together to target Dyn, a networking company that provides domain name service to major sites. By knocking Dyn offline, other sites that relied on its services were also inaccessible — like Twitter, Spotify and SoundCloud.

Mirai was a relatively rudimentary, albeit powerful botnet that relied on default passwords. This law is a step in the right direction to prevent these kinds of botnets, but falls short on wider security issues.

Other, more advanced botnets don’t need to guess a password because they instead exploit known vulnerabilities in Internet of Things devices — like smart bulbs, alarms and home electronics.

As noted by others, the law as signed does not mandate device makers to update their software when bugs are found. The big device makers, like Amazon, Apple and Google, do update their software, but many of the lesser-known brands do not.

Still, as it stands, the law is better than nothing — even if there’s room for improvement in the future.


Source: TechCrunch

Former Formation 8 GP Shirish Sathaye joins Cervin Ventures

Longtime venture capitalist Shirish Sathaye has quietly joined early-stage investor Cervin Ventures as a general partner.

Most recently, Sathaye was a general partner at Formation 8, the embattled venture firm co-founded by Palantir’s Joe Lonsdale, Brian Koo (a scion of the Koo family, owners of the electronics giant LG) and former Khosla GP Jim Kim. Formation 8 announced in 2015 that it would not raise a third fund and would begin winding down operations.

Sathaye, who’s been in the VC business since 2001 as a GP at Matrix Partners, then at Khosla Ventures, remains a partner in Formation 8’s sophomore fund. His previous investments include Nutanix, Samsung-acquired Grandis, McAfee-acquired Solidcore Systems, cybersecurity startup Vectra Networks and data storage provider Panzura.

He’d only been at Formation 8 for one year when the firm began to crumble. As we now know, conflict between the firm’s founding partners led to its demise. Lonsdale quickly raised $425 million for a spin-off fund called 8VC; Koo, in a similar fashion, brought in $357 million for Formation Group and Kim followed up with a $200 million fund called Builders.

Sathaye, for his part, had grown tired of the “bigger is better” mentality and opted to leave the business of big VC for good.

He began making angel investments and advising startups at Cervin Ventures, a pre-Series A VC fund focused on the enterprise. It closed a $56 million fund in 2017, its largest vehicle to date.

“Smaller funds, in general, make better decisions,” Sathaye told TechCrunch. “At a larger fund, there are more people around the table to make decisions. I think returns are better when there are fewer people making those decisions.”

Watching funds swell past the billion-dollar mark and investors deploy the “spray and pray” strategy was a turn-off, Sathaye said. Startups have more access to capital than ever before, yet most companies can get off the ground with very little funding, thanks to recent innovations like Google Cloud and Amazon Web Services.

“With AWS, companies can bring products to market quickly and they can reach their customers with much less money,” Sathaye said. “If you look at it just from a returns profile, the smaller funds will get better cash-on-cash returns simply because companies don’t need that much money to be successful.”

Palo Alto-based Cervin is led by two other GPs, Preetish Nijhawan and Neeraj Gupta. It invests $1 million to $2 million in early-stage startups. Sathaye says he’ll be focused specifically on the security, mobile, cloud and data verticals.


Source: TechCrunch

Surface Pro 6 vs. Surface Book 2

Microsoft has a lot of great 2-in-1s in its Surface line of hardware, but which one is the best of the best? To find out, we pitted the Surface Pro 6 vs. Surface Book 2. It’s a tough battle, but only one Surface is left standing.

The post Surface Pro 6 vs. Surface Book 2 appeared first on Digital Trends.


Source: Digital trends

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009